select * from @re即从声明表中调用记录集的问题
use northwind
declare @re table(id int identity(1,1), employeeID int,customerID varchar(100))
insert @re select distinct employeeID,customerID from orders
select * from @re
/*
这一句在查询分析器中可以执行
但在页面运行中会报错
Set myRs = Server.CreateObject("Adodb.RecordSet")
myRs.Open mySQL, Conn, 3, 3
while not myRs.eof '----出错行
myRs.MoveNext
wend
报错:----------------------------------------
ADODB.Recordset 错误 '800a0e78'
对象关闭时,不允许操作。
*/
问题点数:20、回复次数:5Top
1 楼skeeterLa(英俊的大米虫)回复于 2005-04-03 10:40:51 得分 0
declare @re table(id int identity(1,1), employeeID int,customerID varchar(100))
insert @re select distinct employeeID,customerID from orders
select * from @re
这个好像不行吧!
@re 这个应该是创建成临时表。再insertTop
2 楼skeeterLa(英俊的大米虫)回复于 2005-04-03 10:43:13 得分 5
不知道你想做什么? 如果只想返回结集 直接建存储过程,
CREATE PROCEDURE [dbo].[get_rec]
AS
select distinct employeeID,customerID from orders
go
exec dbo.get_rec
就可以返回结果集了Top
3 楼eyeon(eyeon)回复于 2005-04-03 11:16:32 得分 0
因为原数据库设计的结构不合理,现在想把表中各个记录之间的关系按我的要求进行重组。
我只想通过这种方式来实现(不想写成函数或加临时表之类的),只想把记录集放入声明的一个表中,上面这个语句中如果不往@re中插入记录,直接select不会报错,但一旦insert后再select就会出错,我想知道错出在哪里?
希望哪位能够指点一二,问题一解决,立即结贴,thx!Top
4 楼sxycgxj(云中客)回复于 2005-04-03 11:48:08 得分 0
declare @re table(id int identity(1,1), employeeID int,customerID varchar(100))
insert into @re select distinct employeeID,customerID from orders /*这里应该加个into
select * from @re
Top
5 楼tangjingjie(冥界飞龙)回复于 2005-04-08 16:52:42 得分 15
写个函数就可以了。Top




