[Oracle]@和@@执行SQL文件


@表示要执行的文件在当前目录(sqlplus启动的目录)
@@表示要执行的文件和正在执行的文件在同一目录下。

下面举个例子。
e:\test.sql
select * from tab;
@a.sql
@@a.sql

e:\a.sql
select user from dual;

e:\sql\a.sql
select sysdate from dual;

从msdos进行e盘sql目录执行sqlplus

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\>e:

E:\>cd sql

E:\sql>sqlplus

SQL*Plus: Release 9.0.1.3.0 - Production on 星期四 7月 17 09:22:11 20

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

请输入用户名:  yangtk@yangtk
请输入口令:

连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL> @e:\a.sql

USER
------------------------------
YANGTK

SQL> @e:\sql\a.sql

SYSDATE
----------
17-7月 -03

SQL> @a.sql

SYSDATE
----------
17-7月 -03

SQL> @e:\test.sql

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
CHAINED_ROWS                   TABLE
CLASSES                        TABLE
DEBUG_TABLE                    TABLE
DESTINATION                    TABLE
EXCEPTION_TABLE                TABLE
EXCEPTION_VIEW                 VIEW
LOG_TABLE                      TABLE
MAJOR_STATS                    TABLE
PLAN_TABLE                     TABLE
REGISTERED_STUDENTS            TABLE
RM$REPOSITORIES                SYNONYM

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
ROOMS                          TABLE
RS_AUDIT                       TABLE
SOURCE                         TABLE
STUDENTS                       TABLE
TEMP_TABLE                     TABLE
TEST_INDEX                     TABLE
TEST_MONITORING                TABLE
TEST_NOMONITORING              TABLE
TEST_NO_PARTITION              TABLE
TEST_NO_PARTITION_TEMP         TABLE
TEST_UNIQUE_INDEX              TABLE

已选择22行。


SYSDATE
----------
17-7月 -03


USER
------------------------------
YANGTK

SQL>

posted @ 2015-07-14 10:09  andyjia  阅读(772)  评论(0编辑  收藏  举报