總結:乙個變數只能獲取乙個值,但是如果想在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...