create or replace package body SOME_PKG [..] /*#################################################### some comment ###################################################### */ procedure PROC_NAME(arg1 VarChar2) IS [..]When I call it to create on a test environment, I have got:
SP2-0734: unknown command beginning "##########..." - rest of line ignored.
As this file was created on a Windows environment I thought initially some hidden characters are obstacle or EOL signs. But not. It appears that when one works in editor mode of SQL*Plus, the hash sign (#) if being set as a first character in line, is interpreted as an opening of command line and all text after it is immediately interpreted. E.g.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> create or replace procedure test1 as
2 /*
3 # select 1 from dual;
1
----------
1
SQL> */
SP2-0042: unknown command "*/" - rest of line ignored.
SQL>
With block comment it turns into a deadly combo ;-) - one may think it is absolutely ok (and it works with let's say SQL Developer) but with SQL*Plus
it fails (the closing of block comment may be ommited as in the example above) and then random errors appear.
No comments:
Post a Comment