iT邦幫忙

0

ORACLE PROCEDURE 問題請教

您好:
一般在MSSQL 中我可以在PROCEDURE 撰寫如下

CREATE  PROCEDURE  EmpProc2  @Salary_max  INT,@Salary_min  INT
AS
SELECT Emp_no,Emp_name,sex,Salaey,Dept
FROM  Emp,Dept
WHERE Salaey  BETWEEN  @Salary_max   AND @Salaey_min
   AND Emp.Dept_code=Dept.Dept_code
ORDER BY Salary  DESC

然後 用 EXEC EmpProc2 70000,90000
他就可以 直接列出資料,供DATASET 等使用
Emp_no Emp_name sex Salaey Dept
1 AA M 100 001
2 BB F 200 020

那,請問 在ORACLE 中,有辦法辦到嗎?
謝謝

player iT邦大師 1 級 ‧ 2019-10-15 20:28:37 檢舉
MSSQL 的語法是T-SQL
Oracle Database的語法是 pl/SQL

https://www.oracletutorial.com/plsql-tutorial/plsql-procedure/
noway iT邦新手 5 級 ‧ 2019-10-15 22:06:46 檢舉
您好:
所以 他只能 利用 dbms_output.put_line
來呈現 ? 或可以拿來 使用?

他只能1筆 嗎?

謝謝!

2 個回答

0
尼克
iT邦高手 1 級 ‧ 2019-10-16 11:49:05
CREATE OR REPLACE PROCEDURE EmpProc2 (
   salary_max    IN     NUMBER,
   salary_mix    IN     NUMBER,
   e_recordset      OUT SYS_REFCURSOR)
IS
BEGIN
   OPEN e_recordset FOR SELECT * FROM temp;
END EmpProc2;

我要發表回答

立即登入回答