为什么我的查询会出错?
wenw 2003-07-27 02:19:37 语句1:
insert into ware_sell_collect ( fct_date,ware_symbol, ware_price, ware_number) select fct_date,ware_symbol,convert(char,sum(convert(bigint,ware_price))) as ware_price,convert(char,count(*)) as ware_number from ware_sellrec where fct_date=@collect_date group by ware_symbol,fct_date
在程序执行时候出错了,提示
INSERT 失败,因为下列 SET 选项的设置不正确: 'ANSI_NULLS., QUOTED_IDENTIFIER'。
但我把它改成
语句2:
insert into ware_sell_collect ( fct_date,ware_symbol, ware_price, ware_number) ( select fct_date,ware_symbol,convert(char,sum(convert(bigint,ware_price))) as ware_price,convert(char,count(*)) as ware_number from ware_sellrec where fct_date='20030630' group by ware_symbol,fct_date)
或者
语句3:
select fct_date,ware_symbol,convert(char,sum(convert(bigint,ware_price))) as ware_price,convert(char,count(*)) as ware_number from ware_sellrec where fct_date=@collect_date group by ware_symbol,fct_date
都不会出错。这个问题到底错在哪?
@collect_date是存储过程的参数,赋值为'20030630'时候语句3查询不出错,放到最上面的语句1中出错,但把语句1中的变量直接用常量代替就不出错。