CS185c
Chris Pollett
Mar 25, 2010
CREATE STOGROUP BANKSG VOLUMES (USER01,USER02) VCAT UCATBANK;
SELECT * FROM SYSIBM.SYSSTOGROUP WHERE NAME = 'BANKSG'; SELECT * FROM SYSIBM.SYSVOLUMES WHERE SGNAME = 'BANKSG';
CREATE DATABASE BANKDB BUFFERPOOL BP0 INDEXBP BP1 STOGROUP BANKSG CCSID EBCDIC;
CREATE TABLESPACE BANKTS IN BANKDB BUFFERPOOL BP0 CCSID EBCDIC CLOSE YES COMPRESS NO LOCKSIZE PAGE;
SELECT * FROM SYSIBM.SYSTABLESPACE WHERE NAME= 'BANKTS' AND DBNAME='BANKDB';
CREATE TABLE BRANCH ( BRAN_ID CHAR (10) NOT NULL, BRAN_NAME VARCHAR (20) NOT NULL, BRAN_STATUS CHAR(2) NOT NULL WITH DEFAULT 'AC' ) IN BANKDB.BANKTS;
SELECT * FROM SYSIBM.SYSTABLES WHERE NAME='BRANCH' AND CREATOR='TE02'; SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBNAME='BRANCH' AND TBCREATOR='TE02';
CREATE UNIQUE INDEX C ON BRANCH (BRAN_ID ASC) BUFFERPOOL BP1 CLOSE NO DEFER YES COPY YES;
ALTER TABLE BRANCH ADD CONSTRAINT PK_BRANID1 PRIMARY KEY (BRAN_ID);
SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBCREATOR = 'TE02' AND TBNAME = 'BRANCH' AND KEYSEQ > 0; SELECT * FROM SYSIBM.SYSINDEXES WHERE TBCREATOR = 'TE02' AND TBNAME = 'BRANCH' AND UNIQUERULE = 'P';
ALTER TABLE BRANCH ADD CONSTRAINT CK_BRANST1 CHECK (BRAN_STATUS='AC' OR BRAN_STATUS='EP' );
SELECT * FROM SYSIBM.SYSCHECKS WHERE TBNAME='BRANCH' AND TBOWNER='TE02' AND CHECKNAME= 'CK_BRANST1'; SELECT * FROM SYSIBM.SYSCHECKDEP WHERE TBNAME='BRANCH' AND TBOWNER='TE02' AND CHECKNAME= 'CK_BRANST1';
CREATE TABLE CUSTOMER ( CUST_ID CHAR (10) NOT NULL, CUST_NAME VARCHAR (20) NOT NULL, CUST_BRAN_ID CHAR (10) NOT NULL ) IN BANKDB.BANKTS; CREATE UNIQUE INDEX XCUSTID1 ON CUSTOMER (CUST_ID ASC); ALTER TABLE CUSTOMER ADD CONSTRAINT PK_CUSTID1 PRIMARY KEY (CUST_ID); ALTER TABLE CUSTOMER ADD CONSTRAINT FK_BRANID1 FOREIGN KEY (CUST_BRAN_ID ) REFERENCES BRANCH (BRAN_ID);
CREATE TABLE ACCOUNT ( ACCT_ID CHAR (10) NOT NULL, ACCT_BAL DECIMAL (8,2) WITH DEFAULT 0, ACCT_BRAN_ID CHAR (10) NOT NULL, ACCT_OPEN_TIME TIMESTAMP NOT NULL ) IN BANKDB.BANKTS; CREATE UNIQUE INDEX XACCTID1 ON ACCOUNT (ACCT_ID ASC); ALTER TABLE ACCOUNT ADD CONSTRAINT PK_ACCTID1 PRIMARY KEY (ACCT_ID);
ALTER TABLE ACCOUNT ADD CONSTRAINT FK_CUSTID1 FOREIGN KEY (ACCT_CUST_ID ) REFERENCES CUSTOMER (CUST_ID); ALTER TABLE ACCOUNT ADD CONSTRAINT FK_BRANID1 FOREIGN KEY (ACCT_BRAN_ID ) REFERENCES BRANCH (BRAN_ID);
CREATE VIEW ACCTBAL AS SELECT CUST_NAME, ACCT_ID, ACCT_BAL, BRAN_NAME FROM ACCOUNT A, BRANCH B, CUSTOMER C WHERE A.ACCT_CUST_ID=C.CUST_ID AND A.ACCT_BRAN_ID=B.BRAN_ID
INSERT INTO table_name (column1, column2, ... ) VALUES (expr1, expr2, ... )
INSERT INTO table_name (column1, column2, ... ) VALUES ({expr1 | host_var_array1}, {expr2 | host_var_array2} ... ) FOR {integer | host_variable} ROWS [ATOMIC | NOT ATOMIC]
INSERT INTO BOOKS (BOOKNO, TITLE, AUTHOR) VALUES (:bookno_hv, :title_hv, :author_hv) FOR 5 ROWS
DELETE FROM table_name [WHERE search_condition]
DELETE FROM table_name WHERE CURRENT OF cursor_name [FOR ROW {integer | host_variable} OF ROWSET]
UPDATE table_name SET assignment1, assignment2, ... [WHERE search_condition]
UPDATE table_name SET assignment1, assignment2, ... WHERE CURRENT OF cursor_name [FOR ROW {integer | host_variable} OF ROWSET] assignment: column_name = expression | NULL | scalar_fullselect