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.




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;
Le problème qui s'affiche :
PLS-00457: expressions have to be of SQL types
J'ai cherché l'origine de l'erreur. j'ai trouvé :

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.
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.