Je pl/sql bloc anonyme comme ci-dessousOracle "dans" clause dans la version Oracle ci-dessous 11g
declare
v_count pls_integer := 0;
begin
select count(1) from product_component_version
into v_count
where product like '%Enterprise%';
if v_count = 0 then
raise program_error;
end if;
exception
when program_error then
raise_application_error (-20001, 'This is valid for Oracle Enterprise Edition only!');
end;
Lorsque je tente d'exécuter ce qui précède, je reçois l'erreur ci-dessous
ORA-06550: line 5, column 5:
PL/SQL: ORA-00933: SQL command not properly ended
Ce qui n'est rien d'autre que l'instruction "into v_count". Selon ma compréhension de la syntaxe est fausse et quand j'ai changé ce statemnt comme ci-dessous, il fonctionne très bien. Je l'ai testé dans "Oracle Database 11g Enterprise Edition version 11.2.0.1.0 - 64bit".
Mais le script original est disponible dans toutes nos anciennes versions de notre produit. Je voudrais savoir que la syntaxe du script original est supportée dans les anciennes versions d'Oracle. Ou pouvez-vous s'il vous plaît laissez-moi savoir toute information sur ce qui peut répondre à ma confusion?
Merci, Vijay
Je ne pense pas que la première syntaxe était * jamais * pris en charge. –
"le script est disponible"? Ce n'est pas stocké dans DB, donc je suppose que ce code ne fonctionne pas dans un fichier quelque part (et n'est jamais utilisé). Comment savez-vous que ce code est utilisé (quelle que soit la version)? – tbone