当前位置:首页 » 编程语言 » sqlserverin参数

sqlserverin参数

发布时间: 2023-01-09 06:10:51

A. sqlServer跨数据库执行存储,并且这个存储带有表类型参数,需要怎么声明传入

参数定义
单个参数
1> CREATE PROCEDURE HelloWorld1
2> @UserName VARCHAR(10)
3> AS
4> BEGIN
5> PRINT 'Hello' + @UserName + '!';
6> END;
7> go
1> DECLARE @RC int;
2> EXECUTE @RC = HelloWorld1 'Edward' ;
3> PRINT @RC;
4> go
HelloEdward!
0

IN、OUT、IN OUT
注:
SQL Server 的 OUTPUT 需要写在变量数据类型后面。

SQL Server 没有 IN OUT 关键字
OUTPUT 已经相当于 IN OUT 了。

1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go

1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B

参数的默认值
1> CREATE PROCEDURE HelloWorld3
2> @UserName VARCHAR(10),
3> @Val1 VARCHAR(20) = ' Good Moning,',
4> @Val2 VARCHAR(20) = ' Nice to Meet you'
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @Val1 + @Val2 + '!';
8> END;
9> go
1>
2> DECLARE @RC int;
3> BEGIN
4> EXECUTE @RC = HelloWorld3 'Edward';
5> PRINT @RC;
6> EXECUTE @RC = HelloWorld3 'Edward', ' Good Night,';
7> PRINT @RC;
8> EXECUTE @RC = HelloWorld3 'Edward', ' Good Night,', ' Bye';
9> PRINT @RC;
10> END
11> go
Hello Edward Good Moning, Nice to Meet you!
0
Hello Edward Good Night, Nice to Meet you!
0
Hello Edward Good Night, Bye!
0

指定参数名称调用
此部分使用 “参数默认值”那一小节的存储过程。
用于说明当最后2个参数是有默认的时候,如何跳过中间那个。
1> DECLARE @RC int;
2> BEGIN
3> EXECUTE @RC = HelloWorld3 'Edward';
4> PRINT @RC;
5> EXECUTE @RC = HelloWorld3 'Edward', @Val1=' Good Night,';
6> PRINT @RC;
7> EXECUTE @RC = HelloWorld3 'Edward', @Val1=' Good Night,', @Val2=' Bye';
8> PRINT @RC;
9> EXECUTE @RC = HelloWorld3 'Edward', @Val2=' HeiHei ';
10> PRINT @RC;
11> END
12> go
Hello Edward Good Moning, Nice to Meet you!
0
Hello Edward Good Night, Nice to Meet you!
0
Hello Edward Good Night, Bye!
0
Hello Edward Good Moning, HeiHei !
0

B. 关于sqlserver中存储过程里面in关键字的使用

首先就是@chooseid的问题
如果你这样in的话
即使你的 @chooseid=1,2,3
他也会把这几个看做一个整体
也就是把 id 同 '1,2,3'这个整体去比对
而不是拆开

这样的话只能用动态去构建

declare @sql varchar(1000)
set @sql=''
select @sql='delete from table1 where id in ('+ @chooseid+') and uid='+@uid
exec(@sql)

动态构建 也是可以增加@uid的条件的啊...
不太明白你的意思
你可以把代码写全
肯定是可以动态的
写全了 我给你写

C. 带参数的sqlserver存储过程的定义

@是标示符,代表是变量
一个@表示局部变量
两个@表示是全局变量,全局变量是有服务器定义的

D. sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢

字符串应该类似'a,b,c,d' 或者'1,2,3,4'这样的吧?
拼字符串 set @str='select * from tb where 字段 in ('+char(39)+replace('字符串',',',char(39)+','+char(39)))+char(39)+')'
exec(@str)
就是把'a,b,c,d' 替换成 ('a','b','c','d')

E. sqlserver存储过程如何建立可选参数

  1. SQL Server 中的存储过程(Procere),带入参数和出参数。

  2. 存储过程(Procere)-基本创建与操作。

  3. --一、无参存储过程

  4. create procere PTitles

    as

    select * from titles

    go

    --2,执行存储过程

    execute PTitles

    go

    --3,移除存储过程

--drop procere PTitles

go

5.存储过程(Procere)-带入参。

create proc P_Titles_ByType

@type char(12) --入参

as

select * from titles where type=@type

go

--,执行带参数的存储过程

--a)方式一

exec P_Titles_ByType @type='business'

go

--b)方式二

exec P_Titles_ByType 'business'

6.存储过程(Procere)-带入参和出参。

create proc P_Titles_ByTypeAndPrice

@type char(12), --入参

@price money --入参

as begin

select * from titles

where type=@type and price>@price

end

F. JDBC连接sqlserver数据库in()参数

你好!
不是你拼接的问题吧我觉得你那个 SQL 在SQLSERVER 客户端就不能执行!
你先把SQL 在客户端正常执行之后,在放入程序哇!
您试试吧!
欢迎追问,谢谢采纳~~

G. mssql2008中,in参数的个数上限是多少。像这样select * from A where A.Num in(1,2,3...)

没上限的吧, IN后面也可以跟 (select num from B),这样的话就是B表里有多少数据就可以查多少

H. sqlserver2008 in的参数传值批量查询

select * from t_user where name in (@name) 这种叫参数化,参数化会被认定为一个字符而不是多个
如果不计效率的话,可以改写为:select * from t_user where ','+@name+',' like '%,'+name+',%'

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:250
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705