1:定義procedure(在高階程式語言中的模組的概念)
create or replace procedure procedure_name
(param_1 in type
,param_2 in out type
) as
param_inner type
begin
statement;
end;
a:不含引數的procedure
create or replace procedure temp
astemp_salary employee.salary%type;
begin
select salary into temp_salary from employee where employee.empid=13;
dbms_output.put_line('temp_salary='||temp_salary);
end;
----呼叫procedure--
begin
temp;
end;
output:
tempemployee=2440
d:含引數的procedure
create or replace procedure temp2 (
temp_empid in employee.empid%type,
temp_empname in out employee.empname%type
)asname1 employee.empname%type;
begin
select empname into name1 from employee where employee.empid=temp_empid;
temp_empname:='姓名'||name1;
end;
declare
iid employee.empid%type;
iname employee.empid%type;
begin
iid:=10;
iname:='daniel';
temp2(iid,iname);
dbms_output.put_line('iid='||iid);
dbms_output.put_line('iname='||iname);
end;
output:
iid=10
iname=姓名dwj
分析:
在呼叫procedure temp2()的時候iname:='daniel'被儲存過程的結果覆蓋,變成iname=姓名dwj;
實際上不用再begin裡面宣告也可以;
帶param的procedure 中in out的意思 in typein要輸入的param out output要打出的param;
c:how to use procedure to create table
create or replace procedure create_table
as sq varchar2(2000);
begin
sq:='create table t2t(
t_id varchar2(20) primary key,
t_name varchar2(255) not null,
t_gender varchar2(255)
)';execute immediate sq;
end;
begin
create_table;
end;
select * from t2t;
分析:
在create or replace procedure,play attention to limits of authority,有時候建立的procedure不能被呼叫
即:systemdba中建立的不能在systemnormal中使用;否則會報錯
oracle 儲存過程建立和使用舉例
oracle 儲存過程建立和使用舉例 1.建立儲存過程 create or replace package pk 1 as 建立包的宣告 type cur is ref cursor 宣告乙個指標 procedure p1 cr out cur end create or replace packa...
Oracle中游標的建立和使用
create or replace procedure proc a name in varchar2,id out varchar2 istempid varchar2 200 建立了三個不同的變數 tempname varchar2 200 tempdatetime varchar2 200 b...
AE C 如何建立和使用 sde連線
我們通過 arccatalog 工具連線 arcsde 管理的空間資料庫的時候,都會在 arccatalog 中建立乙個 sde 檔案,該檔案為乙個空間資料庫連線檔案,有了這個檔案可以直接連線到空間資料庫中去,那麼在 arcengine 中是如何建立和使用這個 sde 檔案的呢?以下為通過 ae c...