Hola amigos del foro, tengo una base de datos en oracle 11g express con fines de aprender,
estoy tratando de entender el funcionamiento de Merge Into, pero no hallo los resultado que se supone que debo obtener; les dejo la estructura de la tabla
Código SQL
[-]CREATE TABLE GUSTAVO_CRUZ.SERVICIOS (
IDE NUMBER(*, 0),
DESCRIPCION VARCHAR2(240 BYTE),
PORCENTAJE NUMBER(17, 2),
CONTRATO VARCHAR2(15 BYTE),
EPSCODIGO VARCHAR2(15 BYTE),
ESTADO NUMBER(*, 0) DEFAULT 1,
CUENTA VARCHAR2(15 BYTE),
CCCODIGO VARCHAR2(15 BYTE),
CONSTRAINT INTEG_15 PRIMARY KEY (IDE) USING INDEX TABLESPACE integra STORAGE (INITIAL 64 K
MAXEXTENTS UNLIMITED)
)
TABLESPACE integra
STORAGE (INITIAL 64 K
MAXEXTENTS UNLIMITED)
LOGGING;
la sentencia Merge Into
Código SQL
[-]MERGE INTO servicios c USING (SELECT s.IDE from SERVICIOS s WHERE s.IDE = 1) x
ON (C.ide = x.ide)
WHEN MATCHED THEN UPDATE SET c.CUENTA = '01326'
WHEN NOT MATCHED THEN INSERT VALUES(1, 'Laboratorio Clínico', 1, NULL, NULL, 1, NULL, NULL);
y los resultados del management con el que estoy trabajando
------ Execution started: Connection: SQL3.sql ------
DML succeeded [0,003s]
Query opened in 0,001s [0,001s exec, < 0,001s fetch]
------------ Done: SQL3.sql -------------
Pero no me agrega el nuevo registro
Gracias por su tiempo,
Gustavo Cruz