社区
MS-SQL Server
帖子详情
select * where id in ( 参数怎么写? ) —— 楼主在线中!解决立马结贴。
乘思者
2006-02-16 11:34:53
要求写一存储过程,查询某字段符合程序中一个数组中包含的项值得记录,如何写?
用select...in ,那么参数写?
或者有没有其它什么更好的方法?
...全文
2412
19
打赏
收藏
select * where id in ( 参数怎么写? ) —— 楼主在线中!解决立马结贴。
要求写一存储过程,查询某字段符合程序中一个数组中包含的项值得记录,如何写? 用select...in ,那么参数写? 或者有没有其它什么更好的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yahle
2006-02-18
打赏
举报
回复
提供一个方案
select * form docs where id in (select id form user where xx = yy)
乘思者
2006-02-16
打赏
举报
回复
如果 传入 @ar = '1,2,3'
直接执行 in(@ar)
—— 太理想化了吧!
lovcal
2006-02-16
打赏
举报
回复
你的数组数量固定么?不行的话你在主程序里拼成一个字符串当一个参数传进来
lin_now
2006-02-16
打赏
举报
回复
看者有分!?
mschen
2006-02-16
打赏
举报
回复
--存储过程不能接收数组做参数,如果可能可以里边的成员用,号分割当字符川传入,然后在SQL SERVER存储过程里边解析.
mschen
2006-02-16
打赏
举报
回复
--存储过程不能接收数组做参数,如果可能可以里边的成员用,号分割当字符川传入,然后在SQL SERVER存储过程里边解析.
子陌红尘
2006-02-16
打赏
举报
回复
create procedure sp_test(@str varchar(200))
as
exec('select * from 表 where id in('+@str+')')
go
QQMagicer
2006-02-16
打赏
举报
回复
数组没法直接传入存储过程,你在程序中将数组的相关值读出来,再作为参数传给存储过程好了
zlp321002
2006-02-16
打赏
举报
回复
declare @is varchar(200)
set @is='1,2,3'
select * from 表 where charindex(','+cast(id as varchar)+',',','+@is+',')>0
lsqkeke
2006-02-16
打赏
举报
回复
create pro c(
@a varchar(20)
)
as
select * from tb where id in(@a)
go
exec c('1,2,3')
QQMagicer
2006-02-16
打赏
举报
回复
create procedure proname
(
@tmp varchar(50)
)
select * from tablename where charindex(id,@tmp)>0
mschen
2006-02-16
打赏
举报
回复
create proc dbo.p_Test
@i1 varchar(10),
@i2 varchar(10),
@i3 varchar(10)
as
select *
from table
where id in (@i1,@i2,@i3)
Go
乘思者
2006-02-16
打赏
举报
回复
1,2,3——在程序当中是由一个数组,怎么传入存储过程里面,还有 ,exec script 是解释执行的,失去存储过程性能优化的意义了。
乘思者
2006-02-16
打赏
举报
回复
要求1,2,3用变量传入,存储过程怎么写?
-狙击手-
2006-02-16
打赏
举报
回复
要是变量
exec('select * from table where id in('+@lm+')')
要是结果集
select * from table where id in (select id from table where ...)
dulei115
2006-02-16
打赏
举报
回复
select 1 where 1 in (1,2,3)
Jane_64
2006-02-16
打赏
举报
回复
@ar = '1,2,3'
select * from 表 where charindex(id,@ar)>0
这句也可以检索id 分别为 1,2,3的纪录?何解?
不大能理解。
--------------------
没问题
乘思者
2006-02-16
打赏
举报
回复
@ar = '1,2,3'
select * from 表 where charindex(id,@ar)>0
这句也可以检索id 分别为 1,2,3的纪录?何解?
不大能理解。
Jane_64
2006-02-16
打赏
举报
回复
如果 传入 @ar = '1,2,3'
直接执行 in(@ar)
—— 太理想化了吧!
-------------------------------
直接执行 in(@ar) 是不行的,可以
exec('select * from 表 where 字段 in (' + @ar + ')')
或
select * from 表 where charindex(字段,@ar)>0
在JAVA里面如何调用ORCALE数据库里的存储过程(带输入输出
参数
)的????
本文介绍如何使用Java通过CallableStatement接口调用Oracle数据库
中
的存储过程,并提供了完整的示例代码,包括创建存储过程和调用过程。
SQL/Oracle取出第 m 条到第 n 条记录的方法
本文介绍如何使用SQL语句一次性获取数据库表
中
指定范围内的记录,包括使用ROWNUM、TOP、EXISTS等关键字的方法,并提供适用于不同数据库系统的实例代码。
ORACLE
中
查询第n条到第m条的数据记录的方法
本文介绍了在Oracle和SQL Server等数据库
中
实现特定范围记录查询的方法,包括如何获取第m到n条记录、随机选取记录及分页查询的技术细节。
Oracle日志报错(ORA-1652)
本文探讨了ORA-1652错误的具体原因及其
解决
方案。通过分析表空间使用情况及自由空间分布,指出错误可能由表空间碎片、表扩展需求过大等因素引起。提供了调整表空间
参数
、优化SQL语句等
解决
思路。
问答
中
心html,sql
本文集锦了多种SQL编程技巧,包括条件判断、存储过程创建、表查询优化等实用技能,帮助读者提升SQL编程能力。
MS-SQL Server
34,876
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章