儲存過程例子

2021-06-19 12:47:23 字數 1768 閱讀 4224

create table testtb

(id varchar2(30),

name varchar2(30)

)insert into testtb values('1','21');

insert into testtb values('2','22');

insert into testtb values('3','23');

insert into testtb values('4','24');

1、用來插入資料,沒有返回值(引數型別varchar2不用說明長度,否則會編譯不過)

create or replace procedure testa(para1 in varchar2, para2 in varchar2)

asbegin

insert into huangbiao.testtb(id, name) values (para1, para2);

end testa;

2、查詢只有乙個返回值的結果集合

create or replace procedure testb(para1 in varchar2, para2 out varchar2)

asbegin

select name into para2 from testtb where id = para1;

end testb;

3、查詢有多個返回值的集合(一組資料)

create or replace package testpackage as

type test_cursor is ref cursor;

end testpackage;

create or replace procedure testc(p_cursor out

testpackage.test_cursor) is

begin

open p_cursor for

select * from huangbiao.testtb;

end testc;

儲存器和函式的區別?

最本質的區別是儲存過程是命令, 而函式是表示式的一部分

create or replace procedure proc_select(

table_id in varchar2

)ashbsql varchar2(500);

begin

hbsql:='select name from testtb where id='||table_id;

execute immediate hbsql;

end;

備註:上面的變數不能使用sql,即「hbsql」不能寫為「sql」

execute proc_select('3');

create or replace procedure proc_insert

(id in varchar2, --輸入序號

name in varchar2 --輸入姓名

) as

str_sql varchar2(500);

begin

str_sql:='insert into testtb values(:1,:2)';

execute immediate str_sql using id,name; --動態執行插入操作

exception

when others then

null;

end ;

sql> execute proc_insert('11',』dinya』);

儲存過程例子

alter proc futurema updageorderdatasdistinguishresult asdeclare connectionstring nvarchar 256 declare server nvarchar 256 declare uid nvarchar 256 dec...

mysql 儲存過程 例子 MySQL儲存過程例子

索引 index create index idx sname on student sname 4 alter table teacher add index idx tname tname drop index idx sname on student 檢視 view create view v...

儲存過程的例子

帶引數儲存過程讀資料 public static void procinputreader sdr.close conn.close 帶 引數 輸出 儲存過程讀資料 output public static void procinputreader1 帶 引數 輸出 儲存過程讀資料 return 用...