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