2011-07-22 3 views

Répondre

4

Voulez-vous dire exécuter une chaîne SQL dynamique? Quelque chose comme:

DECLARE stmt VARCHAR(1000); 
DECLARE my_table VARCHAR(50); 
SET my_table = 'DEPT_'||deptNumber; 
SET stmt = 'SELECT * FROM '||my_table; 
PREPARE s1 FROM stmt; 
EXECUTE s1; 

Vous pouvez seulement faire cela dans un proc stocké. Un défini comme CREATE PROCEDURE GetDeptInfo (deptNumber VARCHAR(5)) pour cet exemple. Lisez à propos EXECUTE et PREPARE dans les docs db2 http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp

0

Quelle difficulté rencontrez-vous?

Il y a probablement beaucoup de façons de le faire. En voici un:

Fichier -> Nouveau -> Autres -> SQL ou un script XQuery

Vous devrez peut-être créer un projet ou définir une connexion de base de données.

Entrez le code SQL.

Script -> Exécuter le script.

Les résultats apparaîtront au bas de votre écran.

3

Après plusieurs jours de recherches, j'ai trouvé comment écrire et exécuter SQL dynamique sur DB2:

create or replace procedure Search() 

    BEGIN 

     DECLARE v_dynamicSql varchar(2000); 
     SET v_dynamicSql = 'INSERT INTO dictonary(name) values(' || 'dynamicSQL in db2' ||')'; 

     EXECUTE IMMEDIATE v_dynamicSql; 

    END; 

espoir d'aider quelqu'un.

0

Dans le Centre de contrôle, cliquez avec le bouton droit sur la base de données, vous verrez "Requête". Cliquez dessus et vous êtes prêt à partir.

enter image description here

Questions connexes