oracle 中execute immediate 是什麼意思能不能 用白話說一

時間 2021-09-07 04:08:50

1樓:

簡單來說 就是你一個儲存過程當中 建立了一個表 table_a 然後要用insert into將其他的資料插入到這個table_a當中,但是因為你在建立過程的時候 table_a還不存在,過程就會顯示有編譯錯誤,因為table_a不存在必然導致過程無法執行,所以無法編譯成功,而把insert into語句加如到 execute immediate之後 則oracle不會再去理會這個物件是否存在,因此可以成功編譯和執行。

2樓:

就是執行sql的。

這個sql可以是字串。

所以這個字串是可以拼出來的。

拼出來的sql就是動態sql了。

3樓:匿名使用者

execute immediate 是立即執行的意思可以execute immediate 『select * from table_name』 ;

或sql := 'select * from table_name' ;

execute immediate sql ;

oracle中 execute immediate的作用是什麼,怎樣用的呢?

4樓:匿名使用者

執行動態的sql語句或非執行時建立的pl/sql塊.動態建立和執行sql語句

execute immediate -- 用法例子

1. 在pl/sql執行ddl語句

begin

execute immediate 'set role all';

end;

2. 給動態語句傳值(using 子句)

declare

l_depnam varchar2(20) := 'testing';

l_loc varchar2(10) := 'dubai';

begin

execute immediate 'insert into dept values (:1, :2, :3)'

using 50, l_depnam, l_loc;

commit;

end;

3. 從動態語句檢索值(into子句)

declare

l_cnt varchar2(20);

begin

execute immediate 'select count(1) from emp'

into l_cnt;

dbms_output.put_line(l_cnt);

end;

oracle列求和,oracle中列中的資料求和

測試資料 create table test mount int,unit varchar2 10 insert into test values 100,ml insert into test values 100,ml insert into test values 1,u insert int...

oracle中如何資料庫,oracle中如何新建一個資料庫

oracle裡面不叫資料庫了,叫建立一個名稱空間建立表空間的語法是 create tablespace tablespacenamedatafile filename size integer k m autoextend off on 建立使用者 create user scce identifi...

oracle的分頁處理,oracle中針對一千條記錄的表如果要查200到300的記錄怎麼查

oracle有3種分頁處理語句 1 根據rowid分頁 2 按分析函式分頁 3 按rownum分頁 其中1的效率最高,2的效率最低,3的效率比2好很多,比1的差距也很小,是經常使用的分頁處理語句 3的語句有固定的格式,基本有以下步驟構成 a 查詢原表,從原表中取出分頁中需要的欄位,並排序 selec...