 
   
   
   
   
   
   
   
   
   
   
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