¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Inserción de valores con consulta SQL para insertar filas con Customer_ID correspondiente

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

He estado rascándome la cabeza (y algunas otras partes) durante un tiempo, tal vez aún atontado por el cambio de hora 🙂

Necesito insertar valores donde uno de los campos es un número de identificación seleccionado de otra tabla, algo así como esto

(SELECT Customer_ID FROM Customers WHERE Cust_Name LIKE '%Unique String%') AS Cust_ID

INSERT INTO A_Sales_Ledger(xxx, yyyy, Customer_ID) VALUES (yyyy, yyyy, Cust_ID)

Entonces, la consulta devolverá, digamos, 65 registros y se insertarán 65 nuevas filas en A_Sales_Ledger con el Customer_ID correspondiente

Gracias

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Paul

The code you supplied initially was spot on - I marked it as the solution.

It was a unique situation that required a quick fix (Sybase Central) instead of developing a client interface.

Thank you for taking the time to assist. 🙂

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hello Dave,

No, no necesitas VALORES si usas la sintaxis INSERT...SELECT.. ya que los valores de inserción se proporcionan desde la selección. Si usas la sintaxis de valores, vas a suministrar los datos 'manualmente', generalmente desde literales o variables.

Depende de la forma de la pera, pero podrías intentar algo así....

BEGIN

DECLARE varSaveCode INTEGER;

INSERT INTO A_Sales_Ledger(xxx, yyyy, Customer_ID)

SELECT xxx, yyy, Customer_ID FROM Customers WHERE Cust_Name LIKE '%Unique String%';

SET varSaveCode = SQLCode;

IF varSaveCode <> 0 THEN

-- Algun manejo de errores apropiado, tal vez....

MESSAGE 'Oops - ocurrió un error, código '||varSaveCode A CONSOLA;

ROLLBACK;

ELSE

COMMIT;

END IF;

END

-- NB, código no probado - Creo que MESSAGE puede manejar la mezcla de tipos


(Podrías intentar MESSAGE a CLIENTE - depende de la capacidad de tu software cliente para capturar el mensaje.)


HTH, Paul

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Paul

Gracias - ¡creo que he estado de cabeza hoy!

Solo para confirmar (no me importa golpearme la cabeza por un rato con errores de SELECT, pero si un INSERT sale mal podría tener algunas consecuencias no deseadas)

¿No necesito VALUES?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hello Dave,

Turn it on its head and massage the syntax a little bit......

INSERT INTO A_Sales_Ledger(xxx, yyyy, Customer_ID)

SELECT xxx, yyy, Customer_ID FROM Customers WHERE Cust_Name LIKE '%Unique String%';


DocCommentXchange  - Syntax 2.


HTH, Paul

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?