查看: 1142|回复: 8
|
store procedure
[复制链接]
|
|
怎样写一个store procedure 可以execute 很多 ID 的?
example
store procedure :
store procedure name is customer
select * from table where Cid = @id
asp page
exec customer , 1
这个写法是当id只有一个
如果有上万的总不能一个一个写吧? |
|
|
|
|
|
|
|
发表于 11-9-2006 10:29 PM
|
显示全部楼层
select * from table where Cid IN (@id1, @id2....)
可以用 code 来 generate 出来... 不一定要用 stored proc. |
|
|
|
|
|
|
|
发表于 12-9-2006 08:47 PM
|
显示全部楼层
请问goatstudio,
select * from table where Cid IN (@id1, @id2....)
红色的部分有length的限制吗?例如 有一千个id,
select * from table where Cid IN (@id1, @id2.... @id1000) |
|
|
|
|
|
|
|
发表于 12-9-2006 11:00 PM
|
显示全部楼层
原帖由 DRAGONISM 于 12-9-2006 08:47 PM 发表
请问goatstudio,
select * from table where Cid IN (@id1, @id2....)
红色的部分有length的限制吗?例如 有一千个id,
select * from table where Cid IN (@id1, @id2.... @id1000)
没有... 当然你的效率会打折扣. |
|
|
|
|
|
|
|
发表于 13-9-2006 12:11 AM
|
显示全部楼层
原帖由 goatstudio 于 12-9-2006 11:00 PM 发表
没有... 当然你的效率会打折扣.
如果我用for...loop呢???
会不会你较好呢?? |
|
|
|
|
|
|
|
发表于 13-9-2006 01:45 AM
|
显示全部楼层
原帖由 红发 于 13-9-2006 12:11 AM 发表
如果我用for...loop呢???
会不会你较好呢??
在那里用 for loop? |
|
|
|
|
|
|
|
发表于 13-9-2006 09:15 AM
|
显示全部楼层
原帖由 goatstudio 于 13-9-2006 01:45 AM 发表
在那里用 for loop?
我的意思是这样的
FOR ....
SELECT * FROM table WHERE Cid = ?
NEXT
这样会不会比
select * from table where Cid IN (@id1, @id2....)
来得好呢??
如果有千多笔资料
[ 本帖最后由 红发 于 13-9-2006 09:25 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 13-9-2006 10:41 AM
|
显示全部楼层
原帖由 红发 于 13-9-2006 09:15 AM 发表
我的意思是这样的
FOR ....
SELECT * FROM table WHERE Cid = ?
NEXT
这样会不会比
select * from table where Cid IN (@id1, @id2....)
来得好呢??
如果有千多笔资料
这两种方法都要用到一个loop把Cid拿出来吧
所以第一种要用到两个loop,第2种只用一个loop
所以以你给的情况来说,第2种应该会比较好 |
|
|
|
|
|
|
|
楼主 |
发表于 15-9-2006 09:10 AM
|
显示全部楼层
请问怎样用sql来xcompare两个table 然后在新的table display 出一个status column然后status 有 bad or nice 的 data? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|