ORA-00936 manquant expression
La déclaration suivante:
INSERT INTO TABLE1(COL_1,COL2) VALUES(SELECT MAX(COL_1) FROM TABLE1), 'XYZ');
génère l'erreur:
ERROR at line 1:
ORA-00936: missing expression
at the select clause.
1. The table is empty for now.
2. COL_1 is a primary key intger field.
Pouvez-vous m'aider s'il vous plaît?
- Vous avez un peu d'erreur. Mais votre approche n'est pas bonne. Si vous n'avez pas de n'importe quelle valeur dans col_1,.. vous ne pouvez pas obtenir des résultats par
SELECT MAX(COL_1) FROM TABLE1
... Et si vous avez un peu de valeur dans col_1.. alors vous mettant toujours en valeur max (valeur constante) dans la première colonne.. ce Qui ne semble pas changer par cette approche.. Ce que vous voulez atteindre par le chemin? - Je pense que vous essayez de faire quelque chose comme insérer max(id)+1.. savez-vous à propos de l'auto-inrement?
Vous devez vous connecter pour publier un commentaire.
Essayer
SQL Violon Démo
Si vous souhaitez utiliser le résultat d'une requête comme une expression scalaire, mettez-les sous-requête entre parenthèses, comme ceci:
Sur l'autre main, vous pouvez simplement utiliser un syntaxe différente, ici:
INSERT...SELECT
dans Oracle qui ne semble pas évident (pour moi) de ce manuel.supprimer un support supplémentaire