utilizarlos procedimientos procedimiento parametros ejecutar crear almacenados almacenado php sql-server laravel stored-procedures laravel-5

php - procedimientos - Cómo ejecutar el procedimiento almacenado de Laravel



procedimientos almacenados mysql php (8)

Necesito ejecutar un procedimiento almacenado después de que mi formulario envíe datos. Tengo el procedimiento almacenado funcionando como lo quiero y mi formulario funciona correctamente. Es solo que no conozco la instrucción para ejecutar el SP desde el programa 5.

debería ser algo como esto: ejecuta my_stored_procedure. Pero parece que no puedo encontrar nada de eso en línea.


Código de trabajo con Laraval 5.6,

DB::select(''EXEC my_stored_procedure ?,?,?'',[''var1'',''var2'',''var3'']);


Ejecutar el procedimiento almacenado de Microsoft SQL Server (MS SQL Server) utilizando el marco PHP Laravel. Si está intentando ejecutar SP utilizando el Modelo Laravel, puede usar los siguientes dos enfoques.

$submit = DB::select(" EXEC ReturnIdExample ?,?", array( $paramOne ,$paramTwo ) ); $submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");

En caso de que esté pasando el parámetro Varchar, use lo siguiente:

$submit = DB::select(" EXEC ReturnIdExample ''$paramOne'', ''$paramTwo'' ");

Si solo está pasando un parámetro que es de INT o BIGINT, entonces esto debería funcionar y puede obtener el retorno de SP:

$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");

Una vez que se ejecuta el procedimiento almacenado, los valores estarán presentes en el $submit en forma de matriz, debe recorrerlo y acceder a las columnas requeridas.

foreach($submit as $row) { echo $row->COLUMN1; echo $row->COLUMN2; echo $row->COLUMN3; }


Para la versión 5.5 use CALL :

return DB::select(DB::raw(''call store_procedure_function(?)'', [$parameter]))


Prueba algo como esto

DB::select(''exec my_stored_procedure("Param1", "param2",..)'');

o

DB::select(''exec my_stored_procedure(?,?,..)'',array($Param1,$param2));

Prueba esto sin parámetros

DB::select(''EXEC my_stored_procedure'')


También puedes hacer esto:

DB::select("CALL my_stored_procedure()");


para Laravel 5.4

DB::select(DB::raw("exec my_stored_procedure"));

Si quieres pasar parámetros:

DB::select(DB::raw("exec my_stored_procedure :Param1, :Param2"),[ '':Param1'' => $param_1, '':Param2'' => $param_2, ]);


para Laravel 5.5

DB::select(''call myStoredProcedure("p1", "p2")'');

o

DB::select(''call myStoredProcedure(?,?)'',array($p1,$p2));

sin parámetro

DB::select(''call myStoredProcedure()'')


app(''db'')->getPdo()->exec(''exec my_stored_procedure'');