exec 问题
各位:
两个问题,请回答
1 exec的问题,见下面的SQL,有问题的地方我打了::SOS
如果改成:
exec ("insert into ryquery select * from " + @tbname )
就一切OK,加上后半截后,就告诉我convert出错,我单独拿出来这个字符串,能select出来啊,就是不能exec.
救命啊~~~~~~~
2 我现在用SQL SERVER 7,写SQL用的是ANALYZER,手头上没有书,请告诉几个能下SQLSERVER7电子书的地方
if exists(select * from sysobjects where name='sp_getresult' and xtype='P')
drop procedure sp_getresult
go
create procedure sp_getresult @start_date datetime, @end_date datetime, @query_no int,@return int output
as
--@return为一返回值,现在先不设
declare @sql varchar(255)
declare @tbname varchar(8)
declare @month_count int
declare @i int
select @i=0
--clear table ryquery
delete from ryquery
select @month_count=datediff(month,@start_date,@end_date)
--select @month_count as month_count
--逐月进行判断,然后插入表ryquery
while(@i<(@month_count+1))
begin
select @tbname='ry'+convert(varchar(8),dateadd(month,@i, @start_date),112)
--select @tbname,@i
if(exists(select * from sysobjects where name=@tbname and xtype='U'))
::SOS exec ("insert into ryquery select * from " + @tbname + " where query_no= " + convert(varchar(8),@query_no))
--set @sql= "insert into ryquery select * from " + @tbname + " where query_no= " + convert(varchar(8),@query_no)
--exec @sql
set @i=@i+1
end
go
exec sp_getresult '2000/01/01','2001/04/02',9177,0