La création d'une instruction SQL insert avec les deux paramètres et sélectionner la déclaration
Je suis en train d'essayer de venir avec une base de données DB2 instruction SQL qui ne le suit, mais je ne suis pas sûr
si cela est autorisé.
Je sais qu'il est possible de insert into tableA ( ... ) Values (?,?,?,...)
et puis attribuer des valeurs à ces paramètres ?
.
Est-il possible de pré-définie la valeur d'un des paramètres?
Par exemple, l'un de la colonne que j'essaie d'insérer est le ID column
et je voudrais faire quelque chose comme select max(id) + 1 from tableA
.
C'est ce que j'essaie de le faire à l'est de cette syntaxe possible dans db2
?
insert into tableA (ID, Text1, Text2) VALUES (select max(id)+1 from tableA, ?, ?)
De toute façon - toute aide serait appréciée!
merci!!
Je suis curieux de savoir pourquoi vous ne voulez pas utiliser générée automatiquement les clés primaires?
Je n'ai pas de contrôle sur la façon dont la table a été créée, mais merci pour le pointeur !
CREATE TABLE mytable (id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, ...)
Je n'ai pas de contrôle sur la façon dont la table a été créée, mais merci pour le pointeur !
OriginalL'auteur aggietech | 2012-04-18
Vous devez vous connecter pour publier un commentaire.
cela devrait fonctionner :
sons pour ne pas être thread-safe
OriginalL'auteur Ahmed Laatabi
On dirait que vous vous êtes désireux d'une clé primaire comme un indice sur votre table.
Cela va créer une colonne dans ta table qui s'auto-incrémente lorsque vous ajoutez un nouvel enregistrement.
Source ( http://www.ibm.com/developerworks/data/library/techarticle/dm-0401melnyk/ )
Dans DB2, INSÉREZ peut prendre une des VALEURS d'un argument OU d'une sélection, mais pas les deux en une seule requête: publib.boulder.ibm.com/infocenter/iseries/v5r4/...
OriginalL'auteur graypay
Vous pouvez également essayer d'utiliser le
OVERRIDING USER VALUE
paramètre:OriginalL'auteur hms