procedure, function

master
syneffort 3 years ago
parent 920facdffb
commit 04848c8c52
  1. 47
      procedure.sql
  2. 43
      user defined function.sql

@ -0,0 +1,47 @@
USE Study
GO
-- 생성
CREATE PROC EMP_PRO
AS
SELECT ENAME, JOB, SALARY
FROM EMPLOYEE
WHERE ENO = 109
GO
EXEC EMP_PRO
-- 수정
ALTER PROC EMP_PRO
AS
SELECT ENAME, JOB, SALARY
FROM EMPLOYEE
WHERE ENO = 110
GO
EXEC EMP_PRO
-- 입력 매개변수 활용
CREATE PROC EMP_PRO_PARAM
@enumber INT
AS
SELECT ENAME, JOB, SALARY
FROM EMPLOYEE
WHERE ENO = @enumber
GO
EXEC EMP_PRO_PARAM 101
-- 출력 매개변수 활용
CREATE PROC EMP_PRO_OUT_PARAM
@did INT,
@avg_sal INT OUTPUT
AS
SELECT @avg_sal = AVG(SALARY)
FROM EMPLOYEE
WHERE EMPLOYEE.DNO = @did
GO
DECLARE @AVG_SALARY INT
EXEC EMP_PRO_OUT_PARAM 30, @AVG_SALARY OUTPUT
SELECT @AVG_SALARY

@ -0,0 +1,43 @@
USE Study
GO
-- »ý¼º
CREATE FUNCTION MAX_SAL
(@DNO_PARA INT)
RETURNS INT
AS
BEGIN
DECLARE @MAX_VAL INT
SELECT @MAX_VAL = MAX(SALARY)
FROM EMPLOYEE
WHERE DNO = @DNO_PARA
RETURN @MAX_VAL
END
GO
SELECT * FROM EMPLOYEE WHERE SALARY = dbo.MAX_SAL(30)
-- Å×ÀÌºí ¹Ýȯ ÇÔ¼ö
CREATE FUNCTION EMP_DEPT
(@dno_para INT)
RETURNS @emp_dep_table TABLE(
EMP_ID INT,
EMP_NAME VARCHAR(20)
)
AS
BEGIN
INSERT INTO @emp_dep_table
SELECT EMPLOYEE.ENO, EMPLOYEE.ENAME
FROM EMPLOYEE
WHERE DNO = @dno_para
RETURN
END
GO
SELECT * FROM dbo.EMP_DEPT(20)
Loading…
Cancel
Save