![]() |
crear Stored Procedure desde delphi
Saludos, tengo un gran problemon, ojala alguien me pueda ayudar, en la base de datos de una empresa tengo que correr un sp, el problema es que no me dejan instalar un programa administrador de base de datos como el iboconsole o el firebird maestro. entonces lo que siempre hemos hecho es crear aplicaciones en delphi que me corran todos los querys como los de crear tablas y alterarlas y eso. Pero se me presenta el problema con un sp, corriendolo desde un administrador d base de datos jala perfectamente pero a la hora de correrlo desde delphi me genera errores por la sintaxis del sql para firebird, entonces que es lo que le tengo que corregir o como arreglar el sp para que corra desde delphi.
por ejemplo me da error con lo del set term, me dice ke no existe. Ojala alguien me pueda ayudar, no se si explique bien lo que me pasa, hagan preguntas para esclarecer algo que no me halla explicado bien. |
Set term no es un comando SQL válido.
Cuando usas isql, este interpreta el comando para saber donde termina la instrucción SQL. En el caso de los triggers o stored procedures, esto es necesario, pues de otra manera el interprete detectaría que la instrucción termina en el primer punto y coma y enviaría solamente ese trozo al servidor, que tiene capacidad únicamente para procesar comandos uno a uno. En otras palabras, un servidor Firebird no ejecutará un script. Es el interprete (isql, por ejemplo) el encargado de ir sacando las instrucciones y enviarlas una a una al servidor. La gran mayoría de las herramientas para ib/fb que han surgido posteriormente (IBConsole, IBExpert, IBManager, etc), han tomado este comportamiento como "estándar" y lo han implementado. Después de toda esta explicación, comprenderás que si estas enviando la instrucción con un TQUery, lo único que falta es que quites las dos sentencias set term del mismo, y todo funcionará a la perfección. Hasta luego. ;) |
Saludos, gracias por la explicacion, ya me kedo un poco mas claro eso, pero sigo teniendo el problema, quite los dos set term como dijiste, y no funciono, le quito el ^ al end ultimo y no funciona, me marca error en la linea 120, es decir donde esta el into, solo dice error on line 120 no dice de ke tipo, sabes que mas le puedo hacer???
|
Has intentado ejecutar la sentencia desde isql?
Supongo que ese si te dejan instalarlo, ¿no? |
Hola.
te falta el ; al final del INTO. Saludos. |
La franja horaria es GMT +2. Ahora son las 07:14:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi