Je pense que je pourrais manquer quelque chose ici. Voici la partie pertinente de la gâchette:PLS-00306 erreur sur l'appel au curseur
CURSOR columnNames (inTableName IN VARCHAR2) IS
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = inTableName;
/* Removed for brevity */
OPEN columnNames('TEMP');
Et voici le message d'erreur que je revenir,
27/20 PLS-00306: wrong number or types of arguments in call to 'COLUMNNAMES' 27/2 PL/SQL: Statement ignored
Si je comprends correctement la documentation, qui devrait fonctionner, mais depuis ce n'est pas que je dois faire quelque chose de mal. Des idées?
@Matthew - J'apprécie l'aide, mais la raison pour laquelle je suis confus est parce que ce morceau de code ne fonctionne pas pour moi et soulève les erreurs mentionnées. Nous avons d'autres éléments déclencheurs dans la base de données avec le code presque exactement comme ce donc je ne suis pas sûr que ce soit quelque chose que je fait de mal, ou quelque chose avec ce que je suis en train de stocker la détente, etc.
@Matthew - Eh bien, maintenant je me sens gêné. J'ai fait un copier/coller du code que vous avez fourni dans un nouveau trigger et cela a bien fonctionné. Je suis donc retourné dans la gâchette d'origine et ai essayé et reçu le message d'erreur à nouveau, mais cette fois j'ai commencé à supprimer des choses sur la gâchette et après s'être débarrassé de cette ligne,
FOR columnName IN columnNames LOOP
choses sauvé bien. Donc, il se trouve que là où je pensais que l'erreur était, n'était pas réellement l'erreur était.
Frode - La raison pour laquelle je recevais l'erreur était parce que j'essayais de faire un appel à une requête paramétrée dans la boucle FOR sans fournir de paramètre. – rjzii