- SQL code
ALTER PROCEDURE [dbo].[output_jkzx] @s_db nvarchar(100), @d_db nvarchar(100), @exec_time intASdeclare @paramtdatetime datetime=(select getdate())declare @csd_batdeg nvarchar(2000)BEGINset @csd_batdeg='insert [email protected]_db+'.dbo.csd_batdeg'+' select * from [email protected]_db+'.dbo.csd_batdeg where tm_datetime between dateadd(hour,'+convert(varchar(10),[email protected]_time-24)+',[email protected]+') and dateadd(hour,'+convert(varchar(10),[email protected]_time)+',[email protected]+')'exec sp_executesql @csd_batdeg,@s_db,@d_db,@exec_time
如上
------解决方案--------------------
- SQL code
ALTER PROCEDURE [dbo].[output_jkzx] @s_db nvarchar(100), @d_db nvarchar(100), @exec_time intASdeclare @paramtdatetime datetimeset @paramtdatetime=getdate()declare @csd_batdeg nvarchar(2000)set @csd_batdeg='insert [email protected]_db+'.dbo.csd_batdeg'+' select * from [email protected]_db+'.dbo.csd_batdeg where tm_datetime between dateadd(hour,'+convert(varchar(10),[email protected]_time-24)+','+convert(varchar(10),@paramtdatetime,120)+') and dateadd(hour,'+convert(varchar(10),[email protected]_time)+','+convert(varchar(10),@paramtdatetime,120)+')'exec sp_executesql @csd_batdeg,@s_db,@d_db,@exec_time