1樓:匿名使用者
整個語句塊建立了乙個儲存過程,其中的查詢使用了儲存過程的引數。你可以通過直接執行儲存過程,將值傳給傳出過程的引數,來實現執行查詢。
例如:execute dbo].[p_sele_sp] '%a%','1%',『aaa%』,'bbb%';
如果希望直接執行查詢語句,則需要用declare關鍵字事先宣告變數。如下:
-- 宣告變數
declare @spbh varchar(20) , @zjm varchar(100) , @sptm varchar(20) , @splb varchar(20)
-- 給變數賦值
set @spbh = 』%a%'
set @zjm = '1%'
set @sptm = 『aaa%』
set @splb = 'bbb%'
--執行查詢
select top 200 spbh,spname,dw,spgg,scqy,spcd,sl,lsj,zdsj,spid,splb,jj,
sptm,spsx,kfid,jx,pzwh,is_sy,jbz,zbz,ajia,bjia,cjia,djia,bz,bz1,bz2,bz3,bz4,bz5,bz6,bz7,bz8,bz9
from t_sp_info
where ( status = '是' ) and
( pym like @zjm or spname like @zjm or spbh like @spbh or sptm like @sptm ) and ( splb like @splb )
2樓:匿名使用者
我知道你的@b和@b1是這個表的變數,你可以嘗試輸出@b和@b1看看是什麼
set @bb1=(select count(*) from cxuqiu where @b='1' and @b1='1')
select @b,@b1
或者輸出整個語句看看是否有問題:
declare @bb1 int
declare @b varchar(12)
declare @b1 varchar(30)
declare @sql varchar(1000)
set @b = 'id'
set @b1 = 'str0'
set @bb1=(select count(*) from cxuqiu where @b='1' and @b1='1')
select @sql = '(select count(*) from cxuqiu where '+ @b +' = ''1'' and '+ @b1 +' = ''1'')'
print @sql
select @bb1
--上面的set 是我隨便寫的,你把你的列值代入進去即可。
主要是print @sql這句,列印輸出你的動態sql語句,然後執行這個列印出來的結果才能發現問題。
sql儲存過程中怎樣給變數賦值?
3樓:匿名使用者
exec 是執行儲存過程的命令,不能作為儲存過程名
而且你這個似乎是希望用變數轉換成sql命令,不是這樣用法的
4樓:
create proc fuction_view@count int
asdeclare @strsql nvarchar(1000)declare @s_id int
@strsql ='select top 1 @id=s_id from (select top ' + @count + ' s_id from pageindex order by s_id ) aa order by s_id desc'
execute sp_executesql @strsql,n'@id int out',@id=@s_id outgo
5樓:匿名使用者
用游標吧,cursor,先declare,然後迴圈的fetch into 到s_id
6樓:匿名使用者
不是直接set @id=exec(@strsql)麼
在sql儲存過程中,如何宣告變數,賦值變數。最好有具體語句配上例項。3q啦。謝謝各位大俠的幫忙
7樓:追夢的乙個男孩
/*sql server 儲存過程中怎麼將變數賦值*/--sql賦值語句
declare @test1 int
select @test1 = 111
set @test1 = 222
--sql函式賦值,假定count()是自定義函式declare @test2 int
select @test2 = count(*) from sys.sysobjects
--sql儲存過程賦值,直接傳參處理(類似c語言中的指標嗎)if object_id('sp_test') is not null drop procedure sp_test
gocreate procedure sp_test(@test int output)
asbegin
select @test = 999
endgo
declare @test3 int
exec sp_test @test3 outputselect @test3
drop procedure sp_testgo
8樓:匿名使用者
declare @a int
set @a=1
select @a
寫SQL語句或者儲存過程,使用SQL語句建立儲存過程
試下,我也不知道行不行 oracle10g以上版本提供wmsys.wm concat select wmsys.wm concat id aa,wmsys.wm concat mawb bb from tablename where rownum 10 select ltrim max sys co...
關於SQL的儲存過程應用問題
東坡 站 一般分為十種情況,每種語法各不相同 1 建立語法 create proc procedure pro name 預設值 output 預設值 output as sql statements 2 建立不帶引數儲存過程 建立儲存過程 if exists select from sys.obj...
SQL編寫儲存過程題急進,sql server的儲存過程問題!!!急急急
我一眼就看見了,第3行輸入引數 book name 拼錯了,呵呵,太不仔細了 老大,你的專案個數和插入的值的個數根本對不上阿。第3行的打成bood了?這麼麻煩啊頭一次來回答 不好意思啊 sql server的儲存過程問題!急急急 sql server中執行帶引數的儲存過程的方法是 exec 儲存過程...