우선 간략히 제가 만들어봤던 프로시저를 설명드리겠습니다.
웹폼에서 search_m,search_t,pay_method,send_state 4개의 변수를 받습니다.
그 후에 search_t 의 값이 있는지 확인 > pay_method 값이 있는지 확인 > send_state 값이 있는지 확인 후 해당 쿼리 실행 합니다.
CREATE PROCEDURE myproc2
@searchm varchar(20),@search_t varchar(20),@pay_method varchar(20),@send_state varchar(20)
as declare @sql varchar(8000),@new_line char(1)
if @search_m <> ''
if @pay_method <> ''
if @send_state <> ''
begin
set @sql='select * from tbl_order where '+@search_m+' like "%'+@search_t+'%"'+@new_line
set @sql=@sql+' and vp_way = "'+@pay_method+'"'+@new_line
set @sql=@sql+' and status = "'+@send_state+'"'+@new_line
end
else
begin
set @sql='select * from tbl_order where '+@search_m+' = "'+@search_t+'"'+@new_line
set @sql=@sql+' and vp_way = "'+@pay_method+'"'+@new_line
end
else
set @sql='select * from tbl_order where '+@search_m+' = "'+@search_t+'"'+@new_line
else
set @sql='select * from tbl_order'
exec(@sql)
GO
제가 공부하고 있는 책에도 프로시저나 동적 쿼리문에 대한 자세한 설명이나 문법에 대한 설명이 없어서 웹에서 정보를 조금씩 찾아가며 만들었습니다.
문법 검사할 때는 오류가 없어서 되나보다 했는데 정작 페이지에서 호출하려니까
'개체가 닫혀있으면 작업이 허용되지 않습니다.' 라는 오류가 뜨는군요.
흠...뭐가 문제인지 좀 알려주세요.ㅜㅜ
아..그리고 프로시저에 대한 자세한 설명이 나와있는 웹페이지나 사이트 주소를 공유해주시면 큰 도움이 될 것 같습니다.
|