Ver Mensaje Individual
  #6  
Antiguo 27-01-2024
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Lo tengo puesto así, con el RETURNS.
Código SQL [-]
Query->SQL->Text = "CREATE PROCEDURE Insert_Ficha";
Query->SQL->Add("RETURNS (cTitulo VARCHAR(60), nRegistro INTEGER, cGenero VARCHAR(25), cProductor VARCHAR(50), cUbica VARCHAR(13), cInterpretes VARCHAR(50))");
Query->SQL->Add("AS");
Query->SQL->Add("DECLARE VARIABLE cSql VARCHAR(100);");
Query->SQL->Add("BEGIN");
Query->SQL->Add("  cSql = 'SELECT Album, Registro, Genero, Discografica, Situacion, Interprete FROM Discos';");
Query->SQL->Add("    FOR EXECUTE STATEMENT cSql");
Query->SQL->Add("        ON EXTERNAL 'C:\Ocio_ant\Tablas\Ocio.gdb'");
Query->SQL->Add("        AS USER 'SYSDBA' PASSWORD 'masterkey'");
Query->SQL->Add("        INTO :cTitulo, :nRegistro, :cGenero, :cProductor, :cUbica, :cInterpretes");
Query->SQL->Add("    DO");
Query->SQL->Add("    BEGIN");
Query->SQL->Add("      SUSPEND;");
Query->SQL->Add("    END");
Query->SQL->Add("END;");
Query->ExecSQL();
Query->Transaction->Commit();
No obstante lo que me llama la atención es que usando el mismo código con SQL Manager si funciona y desde el programa no.

Última edición por Angel.Matilla fecha: 27-01-2024 a las 10:14:57.
Responder Con Cita