Advertisement
Maxim_Kuraksin

SQL

May 28th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.10 KB | None | 0 0
  1. /* 1.   Создать именованный тип, содержащий 3 поля*/
  2. CREATE TYPE PERSON AS OBJECT
  3. (
  4.  FIRSTNAME   VARCHAR2(50),
  5.  LASTNAME    VARCHAR2(50),
  6.  AGE         NUMBER (3)
  7. );
  8.  
  9. /* 2.   Создать таблицу, содержащую две колонки. Первая колонка - числовой первичный ключ, вторая колонка - тип из предыдущего шага*/
  10. CREATE TABLE PEOPLE
  11. (
  12. PERSON_ID       NUMBER(10) NOT NULL,
  13. PERSON_DATA         PERSON NOT NULL,
  14. CONSTRAINT PERSON_PK PRIMARY KEY (PERSON_ID)
  15. );
  16.  
  17. /* 3.   Заполнить таблицу в PL/SQL процедуре */
  18. CREATE OR REPLACE PROCEDURE INSERT_RECORDS AS
  19.  
  20. max_id NUMBER;
  21. fisrt_id NUMBER :=0;
  22. fName VARCHAR2(50) := 'FirstName';
  23. lName VARCHAR2(50) := 'LastName';
  24. age NUMBER := 20;
  25.  
  26. BEGIN
  27.  
  28. SELECT MAX(PERSON_ID) INTO max_id FROM PEOPLE;
  29.  
  30. IF max_id != NULL
  31. THEN first_id := max_id;
  32. END IF;
  33.  
  34. FOR i IN 1..10
  35. LOOP
  36. EXECUTE IMMEDIATE 'INSERT INTO PEOPLE VALUES (:1, NEW PERSON (:2, :3, :4))' using first_id + i, fName, lName, age;
  37. END LOOP;
  38.                
  39. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement