在计算列或索引视图上创建或操作索引时,SET ANSI_NULLS 也必须为 ON。如果 SET ANSI_NULLS 为 OFF,计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。SQL Server 将返回一个错误,列出所有违反所需值的 SET 选项。另外,在执行 SELECT 语句时,如果 SET ANSI_NULLS 为 OFF,则 SQL Server 将忽略计算列或视图上的索引值并解析选择,就好象表或视图上没有这样的索引一样.
解决办法:
ALTER DATABASE 数据库名 SET ARITHABORT ON
示例
ALTER DATABASE yourdb SET ARITHABORT ON
分享到:
相关推荐
SET ANSI_NULLS ON GO ALTER PROCEDURE test @From varchar(100)="zhang.zhanling@itgemini.net" , @To varchar(100)="zhang.zhanling@itgemini.net" ,@eng varchar(1000)=" ", @Bcc varchar(500)="xu.ming;...
在SQL Server中,索引视图是一种特殊类型的视图,它的数据被物理地存储并维护着,这使得它们能够提供类似表的性能,特别是在处理大量数据和需要快速聚合操作时。这种视图的设计目的是为了提高查询性能,尤其是当查询...
其次,索引视图要求在创建时设置 ANSI_NULLS 和 QUOTED_IDENTIFIER 选项为 DISABLED。此外,视图的选择列表不能使用通配符 * 来选择所有列,而是需要显式列出每一列。同时,列引用不能在复杂表达式中重复,除非它们...
2. **语法限制**:在创建索引视图时,`ANSI_NULLS`和`QUOTED_IDENTIFIER`选项必须设为`OFF`。视图的选择列表不能使用通配符`*`或`table_name.*`来选取所有列,每一列都必须显式指定。列的引用不能是复杂表达式,除非...
例如,`SET ANSI_NULLS ON/OFF` 控制是否允许在WHERE子句中使用NULL值。`SET QUOTED_IDENTIFIER ON/OFF` 则影响标识符(如表名或列名)是否需要引号包裹。 3. **SQL SET ConnectAttr**:在某些数据库系统中,如...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Param_City]( [id] [int] IDENTITY(1,1) NOT NULL, [parentid] [int] NULL, [City] [varchar](250) NULL, ...
`Over`可能表示这是一个关于如何在遍历时处理空节点或者遍历结束时的操作的教学实例。 描述中的"iterate over a hlist continuing current point"进一步明确了主题,即如何在哈希链表中迭代,并且在遇到空节点时...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[stuinf]( [name] [nchar](20) NOT NULL, [telephone] [nchar](50) NULL, [mobilepho] [nchar](50) NULL, [qq] [nchar](50) NULL, ...
当执行某些不符合ANSI标准的操作时,不会抛出警告信息。 8. **ARITHABORT OFF**: ```sql ALTER DATABASE [Database] SET ARITHABORT OFF GO ``` - 关闭算术异常自动中止。当发生算术溢出等错误时,不会立即...
ALTER DATABASE [MyHotel] SET ANSI_NULLS OFF GO ALTER DATABASE [MyHotel] SET ANSI_PADDING OFF GO ALTER DATABASE [MyHotel] SET ANSI_WARNINGS OFF GO ALTER DATABASE [MyHotel] SET ARITHABORT OFF GO ...
exec sp_dboption N'My_vehicle', N'ANSI nulls', N'false' GO exec sp_dboption N'My_vehicle', N'concat null yields null', N'false' GO exec sp_dboption N'My_vehicle', N'cursor close on commit', N'false'...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[gbook_class]( [id] [int] IDENTITY(1,1) NOT NULL, [classname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_gbook...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[diaryclass]( [id] [int] IDENTITY(1,1) NOT NULL, [classname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_...
因此,如果查询是`SELECT R FROM T WHERE R IN (SELECT-FROM-WHERE)`且子查询返回NULL,那么当`ANSI_NULLS`打开时,查询结果将为空集,因为NULL不包含在任何集合中。反之,如果`ANSI_NULLS`关闭,NULL被视为等于自身...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Book] ( [id] [int] NOT NULL, [name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [password] ...
Special version of lists, where end of list is not a NULL pointer, but a nulls marker, which can have many different values.
ALTER DATABASE [test] SET ANSI_NULLS OFF ALTER DATABASE [test] SET ANSI_PADDING OFF ALTER DATABASE [test] SET ANSI_WARNINGS OFF ... ``` 这些语句设置了数据库的兼容性级别、空值默认值、空值比较、padding...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Student]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Age] [int] NULL, [Grade] [nvarchar](50) NULL, [Sex] ...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[department]( [Deptno] [char](4) NOT NULL, [Dname] [varchar](10) NOT NULL, CONSTRAINT [PK_department] ...
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[uMessage]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[uMessage]( [id...