Search This Blog

Saturday 12 November 2016

Create temporary table in PL/SQL

1. Transaction-specific

create global temporary table tblTempTest
(
Column1 VARCHAR2(50),
Column2 VARCHAR2(50),
Column3 VARCHAR2(50)
)  ON COMMIT DELETE ROWS;

INSERT INTO tblTempTest VALUES ('Row1''Row1''Row1');
INSERT INTO tblTempTest VALUES ('Row2''Row2''Row2');
INSERT INTO tblTempTest VALUES ('Row3''Row3''Row3');

SELECT COUNT(*) FROM tblTempTest;
-- RESULT: 3
COMMIT;
SELECT COUNT(*) FROM tblTempTest;
-- RESULT: 0

2. Session-specific

create global temporary table tblTempTest
(
Column1 VARCHAR2(50),
Column2 VARCHAR2(50),
Column3 VARCHAR2(50)
)  ON COMMIT PRESERVE ROWS;

INSERT INTO tblTempTest VALUES ('Row1''Row1''Row1');
INSERT INTO tblTempTest VALUES ('Row2''Row2''Row2');
INSERT INTO tblTempTest VALUES ('Row3''Row3''Row3');

SELECT COUNT(*) FROM tblTempTest;
-- RESULT: 3
COMMIT;
SELECT COUNT(*) FROM tblTempTest;
-- RESULT: 3

No comments:

Post a Comment