CREATE OR REPLACE PROCEDURE output_time
IS
BEGIN
DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’,’’’yyyy-mm-dd hh24:mi:ss’’’);
DBMS_OUTPUT.PUT_LINE(SYSDATE);
END;
2、 創建帶輸入參數的過程
CREATE OR REPLACE PROCEDURE add_student(id student.id%TYPE ,name student.name%TYPE)
IS
BEGIN
INSERT INTO student
VALUES(id,name);
END;
只要在過程中插入數據的字段順序是對的,參數的順序並不要求與表中字段的順序一致
3、 創建帶有輸入輸出參數的過程
CREATE OR REPLACE PROCEDURE divide(num1 IN OUT NUMBER,num2 IN OUT NUMBER)
IS
ver1 NUMBER;
ver2 NUMBER;
BEGIN
ver1 := TRUNC(num1/num2);
ver2 := MOD(num1,num2);
num1 := ver1;
num2 := ver2;
END;
以下是調用並輸出了過程後的數據
DECLARE
n1 NUMBER := &n1;
n2 NUMBER := &n2;
BEGIN
divide(n1,n2);
DBMS_OUTPUT.PUT_LINE('商:' || n1 || ',餘數爲' || n2);
END;
4、 維護過程
維護過程包括:刪除、顯示編譯錯誤、編譯過程、查看過程代碼等
a) ALTER PROCEDURE divide COMPILE; ——重新編譯過程
b) SELECT TEXT FROM USER_SOURCE WHERE NAME = ‘DIVIDE’; ——查詢數據字典USER_SOURCE看源代碼
c) SHOW ERRORS; ——查看過程中的錯誤
d) DROP PROCEDURE divide;