SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
go
CREATE PROCEDURE [UpdateSmallYellowPageClass]
(
@id int,
@classname nvarchar(25),
@classid int,
@sortid int
)
AS
SET NOCOUNT ON
IF EXISTS(SELECT 1 FROM SmallYellowPageClass WHERE smallclassname=@classname AND classid=@classid AND smallclassid<>@id)
RETURN 1
ELSE
BEGIN
UPDATE SmallYellowPageClass SET smallclassname=@classname,classid=@classid,sortid=@sortid WHERE smallclassid=@id
RETURN @@ERROR
END
CREATE PROCEDURE [UpdateSmallYellowPageClass]
(
@id int,
@classname nvarchar(25),
@classid int,
@sortid int
)
AS
SET NOCOUNT ON
SET ANSI_NULLS ON
SET ARITHABORT ON
IF EXISTS(SELECT 1 FROM SmallYellowPageClass WHERE smallclassname=@classname AND classid=@classid AND smallclassid<>@id)
RETURN 1
ELSE
BEGIN
UPDATE SmallYellowPageClass SET smallclassname=@classname,classid=@classid,sortid=@sortid WHERE smallclassid=@id
RETURN @@ERROR
END
大侠你好,我删除了存储过程,然后在查询分析器中执行下面的,然后在程序中执行存储过程,现在提示:UPDATE 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。
我把这个ARITHABORT设置成ON也不管用呀
SET NOCOUNT ON
SET ANSI_NULLS ON
SET ARITHABORT ON ------------有没有这句都提示因为下列 SET 选项的设置不正确: 'ARITHABORT'
UPDATE SmallYellowPageClass SET smallclassname=@classname,classid=@classid,sortid=@sortid WHERE smallclassid=@id
RETURN @@ERROR
在计算列或索引视图上创建或操作索引时,SET ANSI_NULLS 也必须为 ON。如果 SET ANSI_NULLS 为 OFF,计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。SQL Server 将返回一个错误,列出所有违反所需值的 SET 选项。另外,在执行 SELECT 语句时,如果 SET ANSI_NULLS 为 OFF,则 SQL Server 将忽略计算列或视图上的索引值并解析选择,就好象表或视图上没有这样的索引一样.
SET NOCOUNT ON
SET ANSI_NULLS ON
UPDATE SmallYellowPageClass SET smallclassname=@classname,classid=@classid,sortid=@sortid WHERE smallclassid=@id
RETURN @@ERROR
怎么还错呢,是不是几个set选项都要设置呀
原因:在计算列或索引视图上创建或操作索引时,SET ANSI_NULLS 也必须为 ON。如果 SET ANSI_NULLS 为 OFF,计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。SQL Server 将返回一个错误,列出所有违反所需值的 SET 选项。另外,在执行 SELECT 语句时,如果 SET ANSI_NULLS 为 OFF,则 SQL Server 将忽略计算列或视图上的索引值并解析选择,就好象表或视图上没有这样的索引一样.