Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Merge into... ¿No funciona? (https://www.clubdelphi.com/foros/showthread.php?t=92122)

GustavoCruz 02-08-2017 22:16:07

Merge into... ¿No funciona?
 
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

oscarac 03-08-2017 15:53:15

has revisado si
SELECT s.IDE from SERVICIOS s WHERE s.IDE = 1

muestra algun registro?

Casimiro Notevi 03-08-2017 16:41:15

Alguien olvidó poner el código fuente correctamente :p



GustavoCruz 03-08-2017 17:58:58

Cita:

Empezado por oscarac (Mensaje 519945)
has revisado si
SELECT s.IDE from SERVICIOS s WHERE s.IDE = 1

muestra algun registro?

Hola oscarac, la tabla está completamente vacía, en este caso se supone que debe hacer la inserción

Gracias por tu tiempo ^\||/

Gustavo Cruz


La franja horaria es GMT +2. Ahora son las 15:15:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi