请在查询分析器中创建这个存储过程,以后这个存储过程在企业管理和查询分析器都能修改了。
对于存储过程,SQL Server 使用最初创建存储过程时的 SET ANSI_NULLS 设置值。无论随后何时执行存储过程,SET ANSI_NULLS 的设置都还原为其最初使用的值并生效。当在存储过程内唤醒调用 SET ANSI_NULLS 时,其设置不更改。
在执行分布式查询时应将 SET ANSI_NULLS 设置为 ON。
在执行分布式查询时应将 ANSI_WARNINGS 设置为 ON。
企业管理中的ANSI_NULLS和ANSI_WARNINGS选项不对,但没有方法改动。在查询分析器可以设置ANSI_NULLS和ANSI_WARNINGS选项,而且默认值是对的。所以能在查询分析器创建此类存储过程,而不能在企业管理器创建此类存储过程。就是:
create proc 名
as
SET ANSI_NULL_DFLT_ON on --注意
SET ANSI_WARNINGS on select * from open...--------------------------------------
CREATE PROCEDURE [sp_ZLDayCount_LoadData] AS --变量定义
declare @lt_tablename as varchar(20) --每日生成表名
declare @yd_tablename as varchar(20)
declare @date as char(8) --操作日期
declare @strsql as varchar(500) select @date=convert(char(8),getdate()-1,112) --得到前一天的字符串
select @yd_tablename='yd'+@date
select @lt_tablename='lt'+@dateselect @strsql='select SERVICEID,FEETYPE,FEECODE,SRCTERMID,SERVICECODE,MSGOVER into '+@yd_tablename+' from [tp1].[mydata].[dbo].[otpdb] where left(createtime,8)='''+@date+''' and (otpstatus=-1 or otpstatus=0)'
execute (@strsql)
GO
对于存储过程,SQL Server 使用最初创建存储过程时的 SET ANSI_NULLS 设置值。无论随后何时执行存储过程,SET ANSI_NULLS 的设置都还原为其最初使用的值并生效。当在存储过程内唤醒调用 SET ANSI_NULLS 时,其设置不更改。
在执行分布式查询时应将 SET ANSI_NULLS 设置为 ON。
在执行分布式查询时应将 ANSI_WARNINGS 设置为 ON。
企业管理中的ANSI_NULLS和ANSI_WARNINGS选项不对,但没有方法改动。在查询分析器可以设置ANSI_NULLS和ANSI_WARNINGS选项,而且默认值是对的。所以能在查询分析器创建此类存储过程,而不能在企业管理器创建此类存储过程。就是:
create proc 名
as
SET ANSI_NULL_DFLT_ON on --注意
SET ANSI_WARNINGS on select * from open...--------------------------------------
CREATE PROCEDURE [sp_ZLDayCount_LoadData] AS --变量定义
declare @lt_tablename as varchar(20) --每日生成表名
declare @yd_tablename as varchar(20)
declare @date as char(8) --操作日期
declare @strsql as varchar(500) select @date=convert(char(8),getdate()-1,112) --得到前一天的字符串
select @yd_tablename='yd'+@date
select @lt_tablename='lt'+@dateselect @strsql='select SERVICEID,FEETYPE,FEECODE,SRCTERMID,SERVICECODE,MSGOVER into '+@yd_tablename+' from [tp1].[mydata].[dbo].[otpdb] where left(createtime,8)='''+@date+''' and (otpstatus=-1 or otpstatus=0)'
execute (@strsql)
GO
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货