Rabu, 04 Agustus 2010

Fungsi dengan Insert Statement

---------
DDL untuk tabel Lecture
--------
CREATE TABLE lecturer (
      id               NUMBER(5) PRIMARY KEY,
      first_name       VARCHAR2(20),
      last_name        VARCHAR2(20),
      major            VARCHAR2(30),
      current_credits  NUMBER(3)
      );
---------
untuk isi tabel lecturer
---------

INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10001, 'Scott', 'Lawson','Computer Science', 11);
INSERT INTO lecturer (id, first_name, last_name, major, current_credits)
VALUES (10002, 'Mar', 'Wells','History', 4);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10003, 'Jone', 'Bliss','Computer Science', 8);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10004, 'Man', 'Kyte','Economics', 8);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10005, 'Pat', 'Poll','History', 4);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10006, 'Tim', 'Viper','History', 4);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10007, 'Barbara', 'Blues','Economics', 7);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10008, 'David', 'Large','Music', 4);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10009, 'Chris', 'Elegant','Nutrition', 8);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10010, 'Rose', 'Bond','Music', 7);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10011, 'Rita', 'Johnson','Nutrition', 8);
INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
VALUES (10012, 'Sharon', 'Clear','Computer Science', 3);

-------end insert tabel lecture

SQL> CREATE TABLE MyTable (
  2    num_col    NUMBER,
  3    char_col   VARCHAR2(60)
  4    );

------
fungsi untuk melakukan update
------

SQL>
SQL> CREATE OR REPLACE FUNCTION UpdateTemp(p_ID IN lecturer.ID%TYPE)
  2    RETURN lecturer.ID%TYPE AS
  3  BEGIN
  4    INSERT INTO MyTable (num_col, char_col)
  5      VALUES(p_ID, 'Updated!');
  6    RETURN p_ID;
  7  END UpdateTemp;
  8  /
--------------
Cara memanggil fungsi update lecture
---------------
SQL>
SQL> UPDATE lecturer
  2    SET major = 'Nutrition'
  3    WHERE UpdateTemp(ID) = ID;
-------------

0 komentar:

Posting Komentar