當前位置:首頁 » 服務存儲 » sqlserver存儲過程變數傳遞
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver存儲過程變數傳遞

發布時間: 2022-04-01 13:19:39

sql SERVER 中把表名作為參數傳遞給存儲過程後,怎麼把表中的數據賦值給存儲過程的變數

獲取結果不是這么寫的

可以用下面這種寫法:
DECLARE @T INT;
DECLARE @Sql NVARCHAR(200);
set @Sql = 'SELECT @T = START FROM ' + @TABLENAME + ' WHERE ...';
EXEC SP_EXECUTESQL @Sql, N'@T INT OUTPUT', @T OUTPUT;

② sqlserver將查詢結果作為參數傳入存儲過程

create or replace callproc
as
begin
for v (select distinct f5 from tableA where f2>='20140101' and f119<>'1' and f58>0 and f100<>'Y' and f4='1' and f20='6') loop
ClientCredit(v.f5);
end;

③ 如何給sqlserver 存儲過程中的變數賦值

你有存儲過程定義如下
create procere some_procere @var1 int,@var2 int
傳值時
exec some_procere 100,100或者
exec some_procere @var1=100,@var2=100

④ sqlserver存儲過程中一個參數傳入多個值

if @guo=1
begin
end
if @guo=2
begin
end
if @guo=3
begin
end
if @guo=4
begin
end

⑤ 如何向sql server存儲過程傳遞一個數組

仔細研究後在csdn上找到了解決該問題的辦法帖出來給大家共享一下
大致方法是利用傳遞長字元串的形式向存儲過程傳遞一個長字元串。由於sqlserver沒有 splite函數
所以必須自己定義一個splite函數來進行處理
自定義一個函數
create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(F1 varchar(100))asbegindeclare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)while @i=1begininsert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)endif @SourceSql<''
insert @temp values(@SourceSql)returnend-執行select * from dbo.f_splitstr('1,2,3,4',',')
注:'1,2,3,4'即你所傳遞的字元串
同樣你可以通過 select cunt(*) from dbo.f_splitstr('1,2,3,4',',')
獲得該字元串數組的長度
如果要刪除該函數使用--刪除函數drop function fsplit

⑥ oracle存儲過程變數傳遞

是不是跟sql server一樣,不能用in 變數的形式,要直接寫成 in (1,2,3)的形式才行

⑦ 一個sql存儲過程傳入變數的數據問題

定義變數作為存儲過程傳入參數方法試試。

⑧ sqlserver 存儲過程將查詢結果給變數

declare @name varchar(50)
select @name=name from Student where sid=@sid

--請注意,確保查詢出的數據是單行

⑨ sqlserver存儲過程加變數的問題

加上引號

create proc insertTableNO(
@name varchar(50),
@manHour decimal,
@workTime datetime,
@wages decimal,
@insertTime datetime,
@tableName varchar(50)
)
as
begin
if object_id(@tableName) is not null
exec('insert into '+ @tablename+ ' ( name,manHour,workTime,wages,insertTime)
values('''+@name+''','''+@manHour+''','''+@workTime+''','''+@wages+''','''+@insertTime+''')')
else
return -1
end