Visual foxpro Oracle llamar procedimiento

Hola: estoy usando algo parecido a esto para ejecutar procedimiento en Oracle.
*************************************
** Description of variables used **
* h = handle
* ORADSN = datasource name
* USERID = user id
* PWD = password
**************************************
h=SQLConnect("ORADSN","USERID","PWD") && Establish a connection
IF h> 0
WAIT WINDOW "Connection Successful" NOWAIT
=SQLExec(h,"{Call PROC_actualiza_claves}") && Execute the stored procedure
=SQLDisconnect(h) && Terminate the connection
ELSE
WAIT WINDOW "Connection Failed"
Endif
Necesito saber como enviar algunos parámetros desde Fox para que el Procedimiento en Oracle actualice solo los que cumplan con el requisito enviado en el parámetro.
Gracias

1 Respuesta

Respuesta
1
Mi fuerte es MYSQL y no ORACLE, pero no creo que varíen mucho las cosas, existen dos formas de enviar parámetros a un procedimiento almacenado.
La notación posicional, con esto debes pasar los parámetros a tu procedimiento en el mismo orden en que fueron creados las variables, seria algo así
=SQLEXEC(h,"PROC_actualiza_claves('jose','50')")
y la notación nominal, en donde se nombran explicitamente las variables aceptadas. Ej.
=SQLEXEC(h,"PROC_actualiza_claves(nombre => Jose,monto => 50)")
Tu procedimiento seria algo por como esto:
CREATE OR REPLACE PROCEDURE PROC_actualiza_claves(Nombre STRING, importe NUMBER )
IS
-- Declaración de variables locales
BEGIN
UPDATE SALDOS_CLIENTES SET SALDO = importe  WHERE cliente = Nombre;
END PROC_actualiza_claves;
Bueno, este código no he probado por que no tengo nada de ORACLE instalado, pero tal ves te sirva de referencia, espero haberte ayudado, aunque no es mi DBMG el ORACLE como explique inicialmente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas