匿名塊where條件使用變數(游標 集合)測試

2021-08-01 11:06:30 字數 1241 閱讀 6646

總結:乙個變數只能獲取乙個值,但是如果想在where條件中使用多個值時可以定義乙個集合。

create table t (id number);

insert into t values(1);

insert into t values(2);

commit;

create table t1 (id number,name varchar2(200));

insert into t1 values(1,'hh');

insert into t1 values(2,'h2');

insert into t1 values(3,'h3');

create table t2( name varchar2(200));

--- 乙個l_cnt變數只能儲存乙個值。

declare

l_cnt number;

begin

select count(*) into l_cnt from t;

insert into t2 select

name from t1 where t1.id =(select l_cnt from dual);

commit;

end;

/name

----------

h2---有多個值的時候,需要使用游標+集合

declare

type l_cnt_tab_type is table of varchar2(100);

l_cnt_tab l_cnt_tab_type;

l_batch_size pls_integer := 3000;

cursor cur_t is

select id from t;

begin

open cur_t;

loop

fetch cur_t bulk collect

into l_cnt_tab limit l_batch_size;

forall i in 1 .. l_cnt_tab.count

insert into t2

select name from t1 where t1.id in (l_cnt_tab(i));

commit;

exit when cur_t%notfound;

end loop;

close cur_t;

end;

/

ORACLE 匿名塊 變數 if

pl sql匿名塊 匿名塊 宣告 執行體 異常處理 declare v a integer v b integer begin v a 10 v b 請輸入第二個數 dbms output.put line 商 v a v b dbms output.put line 積 v a v b dbms ...

sql on和where條件的使用

使用join進行關聯查詢時,我們有可以使用on作為條件也可以使用where作為條件。但是兩者是不同的。sql執行的順序on是在join之前執行where是在前面兩者之後執行。我們以乙個案例分析。上面的sql我們對查詢條件s id有限制,但是這個限制卻看似沒有起作用。起不了作用是不能的,不可能不起作用...

Thinkphp中where 條件的使用

where方法的用法是thinkphp查詢語言的精髓,可以完成包括普通查詢 表示式查詢 快捷查詢 區間查詢 組合查詢在內的查詢操作。where方法的引數支援字串和陣列,雖然也可以使用物件但並不建議。示例 user m user 例項化user物件 user where type 1 and stat...