建表
CREATE SET TABLE WAPBI.MMS_BANDWIDTH ,FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE -2147483647 MAXVALUE 2147483647 NO CYCLE), area_code VARCHAR(100) CHARACTER SET LATIN NOT CASESPECIFIC, area_name VARCHAR(100) CHARACTER SET LATIN NOT CASESPECIFIC, arrive_custom DECIMAL(18,2) TITLE '到达客户数', net_growth DECIMAL(18,2) TITLE '净增客户数', income DECIMAL(18,2) TITLE '收入', complete_progress DECIMAL(18,2) TITLE '完成进度', create_at TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP(0)) UNIQUE PRIMARY INDEX ( id );
逻辑表达式运算符分类
1
= | 等于 |
<> | 不等于 |
[NOT] BETWEEN <a> AND <b> | 介于a和b之间或不介于a和b之间 |
[NOT] IN | 属于或不属于某个集合 |
IS [NOT] NULL | 一个数值是空值或不是空值 |
[NOT] EXISTS | 一个查询至少返回一行或不返回任何行 |
存储过程
CREATE PROCEDURE test_value(IN p1 INTEGER, OUT pmsg CHAR(30))BEGINIF p1 > 0 THENSET pmsg = 'Positive value';ELSEIF p1 = 0 THENSET pmsg = 'Zero Value';ELSESET pmsg = 'Negative Value';END IF;END;
SET、 END IF 和 END 语句都以分号";"结束。
执行存储过程test_value。CALL test_value(3, pmsg);
例外处理
REPLACE PROCEDURE handler_2 (IN deptnum INTEGER, OUT lastnmCHAR(20))BEGINDECLARE EXIT HANDLER FOR SQLSTATE '21000', SQLSTATE '42000'BEGINPRINT 'EXCEPTION 21000 OCCURRED';INSERT INTO error_log VALUES (:SQLCODE, :SQLSTATE,CURRENT_TIME);END;DECLARE CONTINUE HANDLER FOR SQLEXCEPTIONBEGINPRINT 'WARNING - EXCEPTION CONDITION OCCURRED';INSERT INTO error_log VALUES (:SQLCODE, :SQLSTATE,CURRENT_TIME);END;SELECT last_name INTO :lastnm FROM employeeWHERE department_number = :deptnum;PRINT 'Successful Completion';END;
EXIT 处理 - 在执行了例外处理的动作后,过程终止。
CONTINUE 处理 - 在执行了例外处理的动作后,过程从例外语句的下一条 处理例外时,可以使用两个保留字: SQLSTATE - 返回特定的错误码。 SQLEXCEPTION - 告诉处理程序处理所有的例外。 例
事务
BT;INSERT row1; (txn #1)INSERT row2;COMMIT WORK;ET;