---例子1, 无参数过程 create or replace PROCEDURE HelloProc is begin dbms_output.put_line('Hello World!'); end; begin HelloProc(); end; --例子2 ,有一个输入参数 create or replace procedure resetpdeUser_password(loginname_in IN varchar2) is begin update s_users set C_PASSWORD='123' where c_loginname=loginname_in; end resetpdeUser_password; drop procedure reset_password ; declare loginname1 varchar2(20); begin loginname1 :='lfzhou'; resetpdeUser_password(loginname1); end; --3. create or replace procedure proc_getUserName(loginname_in varchar,name_out out varchar) as begin select c_name into name_out from s_users where c_loginname=loginname_in; end; --执行方式1 declare l_loginame_in varchar(20); name_out varchar(40); begin l_loginame_in:='lfzhou'; proc_getUserName(loginname_in=>l_loginame_in,name_out => name_out); dbms_output.put_line(l_loginame_in||' 的中文名是:'||name_out); end; --执行方式2 declare name_out2 varchar(40); begin proc_getUserName('lfzhou', name_out2); dbms_output.put_line(' 的中文名是1:'||name_out2); end; --例子4 create or replace procedure proc_adminUserInfo as cursor userList_cur is select c_name,c_email from s_users where c_com_id='10' and i_admin='0'; userName s_users.c_name%type ; email s_users.c_email%type ; begin open userList_cur; dbms_output.put_line('start'); ---while userList_cur%Found loop loop fetch userList_cur into userName,email; dbms_output.put_line(userName||'的邮箱是'||email); exit when userList_cur%Notfound; end loop; close userList_cur; end proc_adminUserInfo; begin proc_adminUserInfo(); end;
?