Requete sql

yassine -  
BadGuitarist Messages postés 373 Statut Membre -
Bonjour,
j'ai une base de donnée et je travaille avec jdbc ma question c'est j'ai une table vide qui a des attributs qui sont etrangers tous dune autre table ce que je vx c'est pouvoir inserer dans cette table ds lun des attributs lancienne valeurs kiest la table mere en additionnant une valeurs x svp comment faire et merci

3 réponses

yassine
 
merci pour ta reponse mais je c comment etablir la connexion ce ke je vx c la commade sql pour faire la requete via java oui le sgbd c oracle pour information et merci pour ton aide
0
BadGuitarist Messages postés 373 Statut Membre 27
 
Ce que tu veux c'est l'ordre SQL qui permet d'insérer les enregistrements d'une table dans une autre.

Si j'ai bien compris, c'est à quelque chose près cela :

<gras>
INSERT INTO table_vide(colonne1_tab_vide,
                                   colonne2_tab_vide,  ... )
   SELECT colonne1_table_pleine,
               colonne2_table_pleine
     FROM table_pleine;
<gras>


Bien sûr, dans l'ordre SELECT, rien ne t'empêche de faire des sommes et mettre une clause WHERE.

A+
-1
yassine
 
merci
mais le probleme c ke je vx faire laddition d'un attribut avec une valueur externe ke je v inserer a la main avec lattribut de lautre table
par exemple pour bien texpliquer jai une table emp (employer)ki as parmi ces attribut sal(salaire) et la table je ne c pa ins(insertion )ki as aussi lattribut sal et elle est vide et on veut inserer dans la table ins des valeurs ainsi que des sal mais les sal vont etre additionnee avec une autre valeur x externe
jespere ke tu as bien compris mon probleme et merci
0
BadGuitarist Messages postés 373 Statut Membre 27
 
1000 excuses mais j'ai du mal à comprendre le langage SMS ... pourtant je fais des efforts : il serait tellement plus simple de donner le nom de tes 2 tables avec la liste des attributs qui nous sont utilies.

Tu as donc :
la table "pleine" : emp(nom, salaire)
la table vide : ins(nom, val)

et tu veux mettre dans la table ins tous les enregistrements de la table emp en affectant à val la valeur de salaire+une quantité saisie de manière interactive.

Est-ce que cela peut t'aider :

  public boolean ajoutIns(String c, int v)
  {
    InitialContext  context    = null;
    DataSource      dataSource = null;
    Connection      connexion  = null;
    Statement       statement  = null;
    ResultSet        resultSet  = null;
    int                  salaireEmp   = 0;
    int                  salaireIns     = 0;
    boolean         etatFct    = true;

    // Identification de la source de données
    try
    {
      context    = new InitialContext();
      dataSource = (DataSource) context.lookup("MaBDDS");

      // Identification de la connexion à la source de données
      try
      {
        connexion = dataSource.getConnection();
        connexion.setAutoCommit(false);
        statement = connexion.createStatement();
        resultSet = statement.executeQuery( "SELECT  valeur "
                                          + "  FROM  emp "
                                          + "  WHERE nom ='"+c+"' "
                                          );
        resultSet.next();
        salaireEmp=resultSet.getInt(1);
        salaireIns=salaireEmp+v;
        statement.executeUpdate("INSERT INTO ins (nom, "
                                                                + "val "
                                                                + ") VALUES "
                                                                + "( '"+c+"', "
                                                                +   "'"+salaireIns+"' "
                                                                + ") "
                                            );
            connexion.commit();
      }
      catch (SQLException e2)
      {
        etatFct=false;
        System.err.println(e2.getMessage());
        try { connexion.rollback(); } catch(SQLException e3) { System.err.println(e3.getMessage()); }
      }
      finally
      {
        if(resultSet !=null) {try{ resultSet.close();  } catch(SQLException e)     { e.printStackTrace(); } }
        if(statement !=null) {try{ statement.close();  } catch(SQLException e)     { e.printStackTrace(); } }
        if(connexion !=null) {try{ connexion.close();  } catch(SQLException e)     { e.printStackTrace(); } }
        if(context   !=null) {try{ context.close();    } catch(NamingException e)  { e.printStackTrace(); } }
        if(dataSource!=null) dataSource=null;
      }
    }
    catch (NamingException e1)
    {
      etatFct=false;
      System.err.println(e1.getMessage());
    }
    finally
    {
      if(resultSet !=null) {try{ resultSet.close();  } catch(SQLException e)     { e.printStackTrace(); } }
      if(statement !=null) {try{ statement.close();  } catch(SQLException e)     { e.printStackTrace(); } }
      if(connexion !=null) {try{ connexion.close();  } catch(SQLException e)     { e.printStackTrace(); } }
      if(context   !=null) {try{ context.close();    } catch(NamingException e)  { e.printStackTrace(); } }
      if(dataSource!=null) dataSource=null;
    }

    return etatFct;
  }



...
-1
BadGuitarist Messages postés 373 Statut Membre 27
 
Bonsoir,
Quelle est ta plateforme de développement ?
JSP/Java en relation avec une base de données Oracle via JDBC ?

J'ai besoin de le savoir pour t'expliquer comment accèder à ta base de données via jdbc.

A+
-1