Академический Документы
Профессиональный Документы
Культура Документы
PACKAGES
QUERIES:
CREATE OR REPLACE PACKAGE sr_pkg IS PRAGMA SERIALLY_REUSABLE; TYPE str_table_type IS TABLE OF VARCHAR2(200) INDEX BY PLS_INTEGER; num str NUMBER := 10;
VARCHAR2(200) := 'default-init-str';
str_tab STR_TABLE_TYPE;
PROCEDURE print_pkg;
PROCEDURE init_and_print_pkg ( n NUMBER, v VARCHAR2 ); END sr_pkg; / CREATE OR REPLACE PACKAGE BODY sr_pkg IS PRAGMA SERIALLY_REUSABLE;
str
VARCHAR2(200);
str_tab STR_TABLE_TYPE; BEGIN DBMS_OUTPUT.PUT_LINE('num: ' || sr_pkg.num); DBMS_OUTPUT.PUT_LINE('str: ' || sr_pkg.str); DBMS_OUTPUT.PUT_LINE ('number of table elements: ' || sr_pkg.str_tab.count); FOR i IN 1..sr_pkg.str_tab.count LOOP DBMS_OUTPUT.PUT_LINE(sr_pkg.str_tab(i)); END LOOP; END print_pkg;
/ BEGIN DBMS_OUTPUT.PUT_LINE('Initializing and printing package state ...'); sr_pkg.init_and_print_pkg(4, 'kulali'); DBMS_OUTPUT.PUT_LINE('Printing package state in the same CALL ...'); sr_pkg.print_pkg; END; /
Open Cursors DROP TABLE student; CREATE TABLE people (name VARCHAR2(20));
INSERT INTO student (name) VALUES ('ANAND'); INSERT INTO student (name) VALUES ('PREAM'); INSERT INTO student (name) VALUES ('RAJ'); INSERT INTO student (name) VALUES ('RAVI');
CREATE OR REPLACE PACKAGE sr_pkg IS PRAGMA SERIALLY_REUSABLE; CURSOR c IS SELECT name FROM people; END sr_pkg; /
IF sr_pkg.c%ISOPEN THEN DBMS_OUTPUT.PUT_LINE('Cursor is open.'); ELSE DBMS_OUTPUT.PUT_LINE('Cursor is closed; opening now.'); OPEN sr_pkg.c; END IF;
str: kulali number of table elements: 4 ANAND 1 ANAND 2 ANAND 3 ANAND 4 Printing package state in the same CALL ... num: 4 str: kulali number of table elements: 4 ANAND 1 ANAND 2 ANAND 3 ANAND 4
Cursor is closed; opening now. Fetched:ANAND Fetched: ANAND Cursor is open. Fetched: ANAND Fetched: RAVI