oracle 動態sql返回單條結果和結果集
1. ddl 和 dml
/**//*** ddl ***/
begin
execute immediate 'drop table temp_1';
execute immediate 'create table temp_1(name varchar2(8))';
end;
/**//*** dml ***/
declare
v_1 varchar2(8);
v_2 varchar2(10);
str varchar2(50);
begin
v_1:='測試人員';
v_2:='北京';
str := 'insert into test (name ,address) values (:1, :2)';
execute immediate str using v_1, v_2;
commit;
end;
2. 返回單條結果
declare
str varchar2(500);
c_1 varchar2(10);
r_1 test%rowtype;
begin
c_1:='測試人員';
str:='select * from test where name=:c where rownum=1';
execute immediate str into r_1 using c_1;
dbms_output.put_line(r_1.name||r_1.address);
end ;
3. 返回結果集
create or replace package pkg_test as
/**//* 定義ref cursor型別
不加return型別,為弱型別,允許動態sql查詢,
否則為強型別,無法使用動態sql查詢;
*/ type myrctype is ref cursor;
--函式申明
function get(intid number) return myrctype;
end pkg_test;
/ return rc;
end get;
end pkg_test;
/
Oracle 動態SQL返回單條結果和結果集
oracle 動態sql 有兩種寫法 用 dbms sql 或execute immediate 建議使用後者。試驗步驟如下 1.ddl和dml ddl begin execute immediate drop table temp 1 execute immediate create table ...
Oracle 動態SQL返回單條結果和結果集
oracle 動態sql有兩種寫法 用 dbms sql 或 execute immediate,建議使用後者。試驗步驟如下 1.ddl 和 dml ddl begin execute immediate drop table temp 1 execute immediate create tabl...
動態SQL中返回數值
最近在做乙個paypal抓取資料的程式,由於所有欄位和paypal之間存在對應對映的關係,所以所有的sql語句必須得拼接傳到儲存過程裡去執行,alter proc dbo sp common paypal addinfo paypalsql varchar max 不包含使用者表的paypalsql...