You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.7 KiB
Plaintext

6 years ago
--Create a schema
5 years ago
CREATE SCHEMA sch1
6 years ago
5 years ago
--Create a table specifying primary key
CREATE TABLE tbl1 (col1 CHAR(1) NOT NULL PRIMARY KEY)
CREATE TABLE tbl2 (col1 INT NOT NULL, col2 DATE NOT NULL, PRIMARY KEY (col1, col2))
--Create a table specifying tablespaces
CREATE TABLE tbl3 (col1 INT NOT NULL, col2 CHAR(1)) IN ts1 INDEX IN ts2
--Create a table specifying schema
CREATE TABLE sch1.tbl4 (col1 INT)
--Create a table with auto incremental column
CREATE TABLE tbl5 (col1 INT NOT NULL GENERATED AS IDENTITY)
6 years ago
--Create a table like another one
5 years ago
CREATE TABLE tbl6 LIKE tbl1 IN ts1 INDEX IN ts2
6 years ago
--Comment on table and column
5 years ago
COMMENT ON TABLE tbl1 IS 'Comment in table'
COMMENT ON COLUMN tbl1.col1 IS 'Description of the field'
6 years ago
5 years ago
--Declare a temporary table (session schema)
DECLARE GLOBAL TEMPORARY TABLE tmp1 (col1 INT, col2 DATE) ON COMMIT PRESERVE ROWS
6 years ago
--Create a global temporary tablespace
5 years ago
CREATE GLOBAL TEMPORARY TABLE tmp2 (col1 INT)
6 years ago
--Create an index
5 years ago
CREATE INDEX idx1 ON tbl2 (col2)
--Create a unique index
CREATE UNIQUE INDEX idx2 ON tbl5 (col1)
--Drop an index
DROP INDEX idx1
--Add a column (requires Reorg table)
ALTER TABLE tbl1 ADD COLUMN col3 timestamp
--Change nullability
ALTER TABLE tbl1 ALTER COLUMN col3 SET NOT NULL
--Drop nullability
ALTER TABLE tbl1 ALTER COLUMN col3 DROP NOT NULL
--Rename a column
ALTER TABLE tbl1 RENAME COLUMN col3 TO new3
--Drop column
ALTER TABLE tbl1 DROP COLUMN new3
6 years ago
--Create a primary key constraint
5 years ago
ALTER TABLE tbl5 ADD CONSTRAINT pkt5 PRIMARY KEY (col1)
--Drop primary key
ALTER TABLE tbl5 DROP PRIMARY KEY
--Add identity
ALTER TABLE tbl2 ALTER col1 SET GENERATED ALWAYS AS IDENTITY
--Restart identity
ALTER TABLE tbl2 ALTER col1 RESTART WITH 1
--Drop identity
ALTER TABLE tbl2 ALTER col1 DROP IDENTITY
6 years ago
--Create a foreign key
5 years ago
ALTER TABLE tbl5 ADD CONSTRAINT fkt5 FOREIGN KEY (col1) REFERENCES tbl11 (col1)
6 years ago
--Create a check constraint
5 years ago
ALTER TABLE tbl1 ADD CONSTRAINT chk CHECK (col1 in ('a', 'b', 'c'))
6 years ago
--Enforce a constraint
5 years ago
ALTER TABLE tbl1 ALTER CHECK chk ENFORCED
6 years ago
--Not enforce a constraint
5 years ago
ALTER TABLE tbl5 ALTER FOREIGN KEY fkt5 NOT ENFORCED
--Change the granularity of the locks
ALTER TABLE tbl1 LOCKSIZE TABLE
6 years ago
--Drop a table
5 years ago
DROP TABLE tbl1
6 years ago
--Rename a table
5 years ago
RENAME TABLE tbl2 TO table2
6 years ago
--Truncate a table
5 years ago
TRUNCATE TABLE tbl1 IMMEDIATE
6 years ago
--Create a sequence
5 years ago
CREATE SEQUENCE seq AS INTEGER
6 years ago
--Restart sequence
5 years ago
ALTER SEQUENCE seq RESTART WITH 15
6 years ago
5 years ago
--Create a stored procedure
CREATE OR REPLACE PROCEDURE prc1 (IN val INT, OUT ret DATE) SPECIFIC mypr BEGIN SET ret = (SELECT col2 FROM tbl2 WHERE col1 = val); END @
6 years ago
--Create a trigger
5 years ago
CREATE TRIGGER cp_val AFTER INSERT ON tbl1 REFERENCING NEW AS n FOR EACH ROW INSERT INTO tbl2 VALUES (n.col1, n.col2)
6 years ago
--Create a view
5 years ago
CREATE VIEW vw1 AS SELECT col2 FROM tbl1