/*
功能:將已啟用活動的期間公升級到tbhdqj
版權:王茂健
*/declare v_slnm varchar2(36);
cursor mycursor is select tbfasl_slnm from tbfasl where tbfasl_stat='1';
begin
open mycursor;
fetch mycursor into v_slnm;
while mycursor%found
loop
declare v_sql varchar2(1000);
v_count int:=0;
begin
select count(1) into v_count from tbhdqj where tbhdqj_slnm=''||v_slnm||'';
if(v_count<=0)
then
v_sql :='insert into tbhdqj select tbslqj_slnm,tbslqj_xh,tbslqj_xdqj,tbslqj_zqnm,
(case when tbbzqj_bzlx=''b'' and left(tbbzqj_qj,1)<>''-'' then ''0'' when tbbzqj_bzlx=''q'' then ''1'' else ''1'' end)
from tbslqj2,tbbzqj where tbslqj_slnm='''||v_slnm||'''
and tbbzqj_znm=tbslqj_znm and tbbzqj_zq=tbslqj_zqnm and tbbzqj_qj=tbslqj_xdqj';
execute immediate v_sql;
end if;
fetch mycursor into v_slnm;
end;
end loop;
close mycursor;
end;
在執行的時候老是提示「無效字元」,是因為v_sql最後加了個「;」,我暈 v_sql:='.............................=tbslqj_xdqj;'; oracle游標使用小例子
游標使用 游標其實是乙個放入記憶體臨時表 declare money cms3 simcard.card fee type 0 定義與表字段相同型別 cursor mycursor is 定義游標 select from cms3 simcard where return flag 1 and ms...
oracle的游標和例子
為了處理sql語句,oracle 將在記憶體中分配乙個區域,這就是上下文區。這個區包含了已經處理完的行數 指向被分析語句的指標,整個區是查詢語句返回的資料行集。游標就是指向上下文區控制代碼或指標。兩種游標 一 顯示游標 需要明確定義!顯示游標被用於處理返回多行資料的select 語句,游標名通過cu...
oracle儲存過程呼叫游標例子
1 首先你需要建立乙個包,並定義你返回的游標的型別 儲存過程 create or replace package test pkg is 定義游標 type t cur is ref cursor 儲存過程宣告 procedure test proc p cur in out t cur end t...