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. 🙂
Avalados por :
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
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. 🙂
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
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?
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%';
HTH, Paul
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute