今天在看一个SQL脚本的时候,发现脚本里边有嵌套的脚本,其实这种情况是很正常的,但这个嵌套脚本的前面加了两个@,还没有见过这种写法。一个@是运行的意思,两个是什么意思呢?通过查资料,找到了,记录入下,备查 @表示在运行父脚本的路径下寻找这个脚本并且运行。比如我在/oracle9下用这个形式运行脚本:@/oracle9/maindb/script/name1.sql,这时如果name1.sql中的嵌套脚本是这样写的:@name2.sql,则oracle则在/oracle9目录下寻找name2.sql。如果写为@@name2.sql的话,oracle则在与父脚本相同目录下寻找name2.sql,即:/oracle9/maindb/script下。这就是两者的差别。