ORA-00933: SQL command not properly ended
ORA-00933: SQL command not properly ended
Cause:
The SQL statement ends with an inappropriate clause.
Solution:
Correct the syntax by removing the inappropriate clauses.
Example:
declare
v_sql varchar2(4000):='Insert into BOOKS (ID,NAME,PRICE) values ';
v_string varchar2(32000);
v_id number:=5;
v_name varchar2(200):='SQL Tutorial';
v_price number:=14;
begin
v_string:=v_sql||'('||v_id||',''||v_name||'','||v_price||');';
DBMS_OUTPUT.PUT_LINE(v_string);
execute immediate v_string;
end;
Output:
ORA-00933: SQL command not properly ended
Insert into BOOKS (ID,NAME,PRICE) values (5,’||v_name||’,14);
Correct
declare
v_sql varchar2(4000):='Insert into BOOKS (ID,NAME,PRICE) values ';
v_string varchar2(32000);
v_id number:=5;
v_name varchar2(200):='SQL Tutorial';
v_price number:=14;
begin
v_string:=v_sql||'('||v_id||','''||v_name||''','||v_price||')';
DBMS_OUTPUT.PUT_LINE(v_string);
execute immediate v_string;
end;
Output:
anonymous block completed
Insert into BOOKS (ID,NAME,PRICE) values (5,’SQL Tutorial’,14)