次の例では、MERGE文内で正しくDEFAUL関数が使用されています。
MERGE INTO emp
USING VALUES (100, 'cc', 200, 3333) AS emp1 (empnum, name,
deptno, sal)
ON emp1.empnum=emp.s_no
WHEN MATCHED THEN
UPDATE SET sal=DEFAULT
WHEN NOT MATCHED THEN
INSERT VALUES (emp1.empnum, emp1.name, emp1.deptno, emp1.sal);
MERGE INTO emp
USING VALUES (100, 'cc', 200, 3333) AS emp1 (empnum, name,
deptno, sal)
ON emp1.empnum=emp.s_no
WHEN MATCHED THEN
UPDATE SET sal=DEFAULT(emp.sal)
WHEN NOT MATCHED THEN
INSERT VALUES (emp1.empnum, emp1.name, emp1.deptno, emp1.sal);
USING (empno INTEGER,
name VARCHAR(50),
salary INTEGER)
MERGE INTO employee AS t
USING VALUES (:empno, :name, :salary) AS s(empno, name, salary)
ON t.empno=s.empno
WHEN MATCHED THEN UPDATE
SET salary=s.salary
WHEN NOT MATCHED THEN INSERT (empno, name, salary)
VALUES (s.empno, s.name, s.salary);