본문으로 바로가기

laravel - 프로시저 procedure 읽기, 실행

category 카테고리 없음 2024. 1. 30. 18:28

 

읽기

 

프로시저의 실행 결과를 불러오려면 select(DB::raw($query))

$query = "EXEC	[dbo].[GET_ALL_TA_STOCK]
                @M1 = 1,
                @M2 = 1,
                @ORDER_NO = N'MAS23HC24401'";

$stocks = DB::connection('sqlsrv')->select(DB::raw($query));

 

1개의 데이터만 불러올 때 first() 만으로는 안되고 collect() 메서드를 활용해야 한다.

$query = "EXEC	[dbo].[GET_ALL_TA_STOCK]
                @M1 = 1,
                @M2 = 1,
                @ORDER_NO = N'MAS23HC24401'";

$stocks = collect(DB::connection('sqlsrv')->select(DB::raw($query)))->first();

 

이렇게 안하면 오류가 발생한다.

 

Error Message

Call to a member function first() on array

 

실행

 

리턴값을 읽을 필요 없이 UPDATE 프로시저 등을 실행하는 경우 statement() 사용

$query = "EXEC	[dbo].[ADD_TA_CUST]
                    @F_CODE = N'".$request->input('f_code')."',
                    @NAME = N'".$request->input('c_name')."',
                    @H_PHONE = N'".$request->input('h_phone')."',
                    @SMS_RCV = N'".$request->input('sms')."',
                    @EMAIL_RCV = N'".$request->input('email')."'";

DB::connection('sqlsrv')->statement($query);