程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 函數和存過的創建調用,函數創建調用

函數和存過的創建調用,函數創建調用

編輯:Oracle教程

函數和存過的創建調用,函數創建調用


函數[in out 參數]

--函數[in out 參數]
create or replace function get_test(m_id in number, str1 out varchar2) --參數不需要類型長度
  return varchar2 is str2 varchar2(10); --變量需要類型長度
begin
  select t.ename, t.job
    into str1, str2
    from scott.emp t
   where t.empno = m_id;
  return str2;
end get_test;

--調用函數[位置表示法]
declare
  s1 varchar2(10);
  s2 varchar2(10);
  s3 number(30) default 7521;  --default 默認值
begin
  s3:=7566;
  s2 := get_test(s3, s1);--參數次序
  dbms_output.put_line(s1 || '  ' || s2);
end;

--調用函數 [名稱表示法]
declare
  s1 varchar2(10);
  s2 varchar2(10);
begin
  s2 := get_test( str1=>s1,m_id=>7521);  --名稱的對應關系,次序並不重要
  dbms_output.put_line(s1 || '  ' || s2);
end;

 存儲過程1

--存儲過程1

create or replace procedure get_test1(m_id in number, str1 out varchar2) --參數不需要類型長度
 is
begin
  select t.ename into str1 from scott.emp t where t.empno = m_id;
end get_test1;

--調用
declare
  s1 varchar2(100);
begin
  get_test1(7521, s1);
  dbms_output.put_line(s1);
end;

 存儲過程2

create or replace procedure get_test2(m_id in number)
 is
  str1 varchar2(100);  --變量在is後面定義
begin
  select t.ename into str1 from scott.emp t where t.empno = m_id;
  dbms_output.put_line(str1);
end;
--sql窗口執行
begin
  get_test2(7521);
end;
--在命令窗口的執行
EXECUTE get_test2(7521);

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved