[20120606]sql中的註解問題.txt

lfree發表於2012-06-06
SQL> select * from v$version ;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

create table t1 (id number);

2.建立如下指令碼,注意註解*後面的方式,1個*後無空格一個後面有空格.

$cat aa.sql

insert into t1 values (1);
/*this is a test*/
/* this is a test*/
commit ;
select * from t1;
/*+this is a test*/


SQL> @aa.sql

1 row created.


1 row created.


Commit complete.

        ID
----------
         1
         1

--可以發現插入兩個記錄.


3.手工執行如下:

SQL> insert into t1 values(101);

1 row created.

SQL> /*+aaa*/
SQL> /*aaa*/

1 row created.

SQL> commit ;

Commit complete.

SQL> select * from t1;
        ID
----------
         1
         1
       101
       101

SQL> /* ccc*/
SQL> /*+ ccc*/
SQL> /*ccc*/
        ID
----------
         1
         1
       101
       101

--說明寫註解要注意!不知道這個算oracle的bug嗎?好像其他版本也有!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-732031/,如需轉載,請註明出處,否則將追究法律責任。

相關文章