FOR LOOP_C1 AS C1 CURSOR FOR
SELECT MARKET_CODE AS MARKET_CODE
FROM TB_MARKET_CODE
FOR UPDATE
DO
-- 迴圈本文,自動 OPEN/FETCH/CLOSE
-- 變數直接用 MARKET_CODE
END FOR;
COMMIT/ROLLBACK。UPDATE TB_MARKET_CODE SET MARKET_CODE = '0'
WHERE CURRENT OF C1;
FOR UPDATE。FOR UPDATE 限制 (不可與 GROUP BY/DISTINCT/ORDER BY 等同用)。SELECT CASE A1
WHEN '1' THEN 'N1'
WHEN '2' THEN 'N2'
ELSE 'N3'
END AS AA1
FROM TBL;
標準 SQL,可移植性優於 Oracle DECODE。
LOCATE('尋找字串', '來源字串') -- 回傳 1-based 位置,0 表不存在
-- 例: LOCATE('y', 'dfdasfay') → 8
DAYS(DATE('2001-06-05')) - DAYS(DATE('2001-04-01'))
-- DAYS 回傳從 0001-01-01 起算的天數
C 語言 UDF 參考:sqllib/samples/cli/udfsrv.c
CREATE TABLE TEST (
T1 SMALLINT NOT NULL
GENERATED ALWAYS AS IDENTITY
(START WITH 500, INCREMENT BY 1),
T2 CHAR(1)
);
GENERATED BY DEFAULT 允許手動指定值;ALWAYS 完全由系統產生。