① 怎麼在Oracle中寫執行sql的sql語句
可以使用 execute immediate
--FYI
--execute immediate不支持多行返回,如果需要可新建臨時表
declare
v_source_sql varchar2(1000);
v_union_sql varchar2(1000);
begin
select column_name into v_source_sql from table_name ;--get source sql
v_union_sql='select * from tablename2,('||v_source_sql ||') h where ......';--sql str
-- 之前先創建好所需欄位的temp_table
execute immediate('insert into temp_table '||v_union_sql );
--在臨時表中就是你所需要的數據。
exception ......
--如果只是需要返回單行數據,則可將execute immediate嵌入在sql中使用
--execute immediate str into parameter1 ,parmeter2...--返回參數
where column=:parameter....條件參數
--
-我說的很仔細吧:) 今天心情好
end;
② 如何用PL/SQL在oracle下執行多個SQL腳本
1:並行執行的話,可以多開窗口
2:串列執行多個腳本的話,可以使用把下面內部保存在1個sql腳本內容,這樣自動調用多個腳本執行
@@D:SQLautoExec1.sql
@@D:SQLautoExec2.sql
@@D:SQLautoExec3.sql
③ oracle 怎麼運行SQl腳本
連接資料庫SQL> connect / as sysdba
運行腳本SQL> @/admin/XX.sql 這里的/adminXX.sql 是絕對路徑名, linux系統的話要注意 目錄許可權問題,windows就不用。
④ oracle怎麼用命令執行sql文件
Oracle執行外部文件:
c:>sqlplus
user/pwd@db
sql>@new.sql
執行多個sql文件:
1.把所有的文件都放在同一個目錄下,然後在命令行里執行命令:
c:>dir/b
>
d:/1.sql
會把所有的sql文件名都輸出到一個sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column
mode,給所有的行前都添加一個"@",保存。
3.在sqlplus中執行"@d:/1.sql"
如何避免'&'字元:
sql中&可以傳遞參數,但有時需要插入'&',例:
SQL>
select
'&hello'
v
from
al;
輸入
hello
的值:
hello
原值
1:
select
'&hello'
v
from
al
新值
1:
select
'hello'
v
from
al
v
-----
hello
可以使用如下方法避免:
A:
SQL>
select
chr(38)
||
'hello'
v
from
al;
V
------
&hello
B:
SQL>
set
define
off
SQL>
select
'&hello'
v
from
al;
V
------
&hello
⑤ oracle中如何執行sql語句
1.在SQL*PLUS下按回車不行是因為你在SQL語句結束時沒有以;(分號)結尾,以分號結尾再按回車就可以了
2.如果常用的話,建議使用PL/SQL Developer,功能強,易使用
⑥ Oracle 批量執行多個sql文件
方法如下:
1:運行cmd進入命令行界面
2:進入到存放批量sql的文件夾下面
3:輸入命令 sqlplus 資料庫名/密碼@資料庫 按回車鍵
4:輸入spool 指定路徑:\a.log 按回車鍵 (此步驟的主要作用就是追蹤批量執行sql的日誌,路徑隨便寫,只要能找到就行,a.log可以隨便起名,但是必須要.log後綴)
5:@start.sql 按回車鍵(在批量sql文件夾下寫一個文件,名字叫start.sql,其中在這個文件裡面寫批量sql的文件名)
具體格式如下:@@sql的文件名.sql;
@@sql的文件名2.sql;
6:spool off (此時a.log中所有日誌已經寫入完畢)
7:exit 退出sqlplus
當然只有一個sql文件,但是裡面有多個insert語句,數據量非常大,此時也可以在命令狀態下執行,前4步是一樣的,第五步就是@文件名.sql;
⑦ oracle執行一個sql腳本文件
用job來實現,可以把腳本文件寫為存儲過程直接用job調用就好了,這個定時執行,如果執行一次可以用PLSQL Developer直接導入sql腳本執行