簡體   English   中英

如何從商店程序中獲取表結果?

[英]How to get the Table result from the store procedure?

我試圖在Where語法中使用一些條件檢查來編寫存儲過程。

但它只顯示查詢的狀態而不是結果。

任何機構都可以幫助解決這個問題。

請查找查詢

declare @query varchar(200)
declare @option varchar(10) = 'A'
set @query ='select * from TableName'+
(case when @query = ''
then
'where ColumnName = 1 '
end)
execute sp_sqlexec @query

你的查詢應該是

declare @query varchar(200)
declare @option varchar(10) ='A'
declare @search as int=1 

select @query ='select * from TableName '+
case when @option ='A'
then
' where ColumnName = '+ cast(@search as varchar(200))
else ''
end
execute sp_sqlexec @query

看看演示

我可以肯定的是,在有條件之前缺乏空間。

declare @query varchar(200)
declare @option varchar(10) = 'A'
set @query ='select * from TableName'+
(case when @query = ''
then
' where ColumnName = 1 '
end)

你可以嘗試這樣:

declare @query varchar(200)

declare @option varchar(10) = 'A'

set @query ='select * from TableName '

if @option ='A'
   set @query = @query + ' where ColumnName = 1 '

--print @query

execute sp_sqlexec @query
declare     @query  nvarchar(max)
        ,   @option varchar(10)     = 'A';

set @query = N'select * from TableName '
           + CASE WHEN @option IS NOT NULL
                THEN N' where ColumnName = 1 ' ELSE N'' END

execute sp_executesql @query;

避免使用sp_sqlexec它很舊並且不再受支持,請改用sp_executesql。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM