commit
affa6bad69
@ -1,9 +1,9 @@
|
||||
--Grant on a table
|
||||
GRANT SELECT, INSERT ON TABLE mytable TO GROUP recur
|
||||
GRANT SELECT, INSERT ON TABLE tbl1 TO user
|
||||
|
||||
--Grant execution on a stored procedure
|
||||
GRANT EXECUTE ON PROCEDURE myproc(SMALLINT, VARCHAR(16)) TO USER jdoe
|
||||
GRANT EXECUTE ON SPECIFIC PROCEDURE myproc1 TO USER jdoe
|
||||
GRANT EXECUTE ON PROCEDURE prc1(INT, DATE) TO USER jdoe
|
||||
GRANT EXECUTE ON SPECIFIC PROCEDURE mypr TO GROUP admins
|
||||
|
||||
--Revoke on a table
|
||||
REVOKE UPDATE, DELETE ON TABLE mytable FROM GROUP recur
|
||||
REVOKE DELETE ON TABLE mytable FROM recur
|
||||
|
@ -1,62 +1,106 @@
|
||||
--Create a schema
|
||||
CREATE SCHEMA myschema
|
||||
CREATE SCHEMA sch1
|
||||
|
||||
--Create a table in a specific tablespace
|
||||
CREATE TABLE mytable1 (mycol1 SMALLINT NOT NULL, mycol2 VARCHAR(16)) IN ts1 INDEX IN ts2
|
||||
CREATE TABLE myschema.othertable (mycol1 SMALLINT)
|
||||
--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)
|
||||
|
||||
--Create a table like another one
|
||||
CREATE TABLE mytable2 LIKE mytable1 IN ts1 INDEX IN ts2
|
||||
CREATE TABLE tbl6 LIKE tbl1 IN ts1 INDEX IN ts2
|
||||
|
||||
--Comment on table and column
|
||||
COMMENT ON TABLE mytable1 IS 'This is the comment of the table'
|
||||
COMMENT ON COLUMN mytable1.mycol1 IS 'Description of the field'
|
||||
COMMENT ON TABLE tbl1 IS 'Comment in table'
|
||||
COMMENT ON COLUMN tbl1.col1 IS 'Description of the field'
|
||||
|
||||
--Declare a temporary table
|
||||
DECALRE GLOBAL TEMPORARY TABLE mytemptab1 (col1 SMALLINT, col2 TIMESTAMP, col3 VARCHAR(50))
|
||||
--Declare a temporary table (session schema)
|
||||
DECLARE GLOBAL TEMPORARY TABLE tmp1 (col1 INT, col2 DATE) ON COMMIT PRESERVE ROWS
|
||||
|
||||
--Create a global temporary tablespace
|
||||
CREATE GLOBAL TEMPORARY TABLE tmptable (col1 INTEGER)
|
||||
CREATE GLOBAL TEMPORARY TABLE tmp2 (col1 INT)
|
||||
|
||||
--Create an index
|
||||
CREATE INDEX myidx ON mytable1 (mycol1)
|
||||
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
|
||||
|
||||
--Create a primary key constraint
|
||||
ALTER TABLE mytable1 ADD CONSTRAINT pkmytable PRIMARY KEY (mycol1)
|
||||
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
|
||||
|
||||
--Create a foreign key
|
||||
ALTER TABLE mytable2 ADD CONSTRAINT fkmytable FOREIGN KEY (mycol1) REFERENCES mytable1 (mycol1)
|
||||
ALTER TABLE tbl5 ADD CONSTRAINT fkt5 FOREIGN KEY (col1) REFERENCES tbl11 (col1)
|
||||
|
||||
--Create a check constraint
|
||||
ALTER TABLE mytable1 ADD CONSTRAINT chk CHECK (mycol2 in ('a', 'b', 'c', 'd', 'e', 'f', 'g'))
|
||||
ALTER TABLE tbl1 ADD CONSTRAINT chk CHECK (col1 in ('a', 'b', 'c'))
|
||||
|
||||
--Enforce a constraint
|
||||
ALTER TABLE mytable2 ALTER FOREIGN KEY fkmytable ENFORCED
|
||||
ALTER TABLE mytable1 ALTER CHECK chk ENFORCED
|
||||
ALTER TABLE tbl1 ALTER CHECK chk ENFORCED
|
||||
|
||||
--Not enforce a constraint
|
||||
ALTER TABLE mytable2 ALTER FOREIGN KEY fkmytable NOT ENFORCED
|
||||
ALTER TABLE tbl5 ALTER FOREIGN KEY fkt5 NOT ENFORCED
|
||||
|
||||
--Change the granularity of the locks
|
||||
ALTER TABLE tbl1 LOCKSIZE TABLE
|
||||
|
||||
--Drop a table
|
||||
DROP TABLE mytable
|
||||
DROP TABLE tbl1
|
||||
|
||||
--Rename a table
|
||||
RENAME TABLE mytable2 AS myothertable
|
||||
RENAME TABLE tbl2 TO table2
|
||||
|
||||
--Truncate a table
|
||||
TRUNCATE TABLE mytable1 IMMEDIATE
|
||||
TRUNCATE TABLE tbl1 IMMEDIATE
|
||||
|
||||
--Create a sequence
|
||||
CREATE SEQUENCE myseq AS INTEGER
|
||||
CREATE SEQUENCE seq AS INTEGER
|
||||
|
||||
--Restart sequence
|
||||
ALTER SEQUENCE myseq RESTART WITH 15
|
||||
ALTER SEQUENCE seq RESTART WITH 15
|
||||
|
||||
--Crete a stored procedure
|
||||
CREATE OR REPLACE PROCEDURE myproc (IN val SMALLINT, OUT ret VARCHAR(16)) SPECIFIC myproc1 BEGIN SET ret = (SELECT mycol2 FROM mytable1 WHERE mycol1 = val); END @
|
||||
--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 @
|
||||
|
||||
--Create a trigger
|
||||
CREATE TRIGGER copy_value AFTER INSERT ON mytable1 REFERENCING NEW AS N FOR EACH ROW INSERT INTO mytable2 VALUES (N.mycol1, N.mycol2)
|
||||
CREATE TRIGGER cp_val AFTER INSERT ON tbl1 REFERENCING NEW AS n FOR EACH ROW INSERT INTO tbl2 VALUES (n.col1, n.col2)
|
||||
|
||||
--Create a view
|
||||
CREATE VIEW VW1 AS SELECT mycol2 FROM mytable1
|
||||
CREATE VIEW vw1 AS SELECT col2 FROM tbl1
|
||||
|
Loading…
Reference in New Issue