Besoin d'aide pour la fonction execute immediate
Bonjour j'ai besoin de votre aide pour corriger mon scrip PL/SQL
Voici mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
DECLARE
v_update VARCHAR2(4000);
csql varchar2(2000);
BEGIN
FOR tab IN
(SELECT owner,table_name
FROM all_tables
WHERE table_name IN ('VOD_FICHE_PRODUIT'))
LOOP
v_update := 'UPDATE '||tab.owner||'.'||tab.table_name||' SET ';
FOR col IN
(SELECT *
FROM all_tab_columns
WHERE table_name = tab.table_name
AND owner = tab.owner
AND data_type LIKE '%CHAR%')
LOOP
v_update := v_update || col.column_name || '= TRANSLATE(' || col.column_name||',''¿'',''''''),';
END LOOP;
EXECUTE IMMEDIATE SUBSTR(v_update,1,LENGTH(v_update)-1);
END LOOP;
END;
/ |
Le but de ce script est de remplacer des caracteres "¿" par les " ' "
Ereur retournéee est :
DECLARE
ORA-00911 : invalid character
ORA-06512 : at line 20