J'essaie d'appeler une procédure stockée d'une base de données distante via le programme suivant :
Le problème est que la variable v_card_number est une variable de type %ROWTYPE.
Et le compilateur n'accepte pas. Ceci.
Le problème qui s'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 v_link := 'LINKA'; EXECUTE IMMEDIATE ' BEGIN DT_INSERTCARD@'||v_link||' (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11); END;' USING IN v_card_number, IN v_accounts_link, IN v_addresses_table, IN p_expiry_date, IN p_start_val_date, IN p_birth_date, IN p_encoded_name, IN p_embossed_name, IN p_first_name, IN p_family_name, IN p_action_code;
J'ai cherché l'origine de l'erreur. j'ai trouvé :PLS-00457: expressions have to be of SQL types
Est ce que je peux la même procédure via d'autre méthode dbms_sql ou autre? Si oui merci de m'aider.Cause:
an expression of wrong type is in USING or dynamic RETURNING clause. In USING or dynamic RETURNING clause, an expression cannot be of non-SQL types such as BOOLEAN, INDEX TABLE, and record.
Action:
change the expression type to a SQL type.
Partager