1.以下示例显示 SET QUOTED_IDENTIFIER 设置必须为 ON,而且表名内的关键字必须在双引号内,
才能创建和使用具有保留关键字名称的对象。
首先执行默认状态SET QUOTED_IDENTIFIER ON
SET
QUOTED_IDENTIFIER
ON
GO
CREATE TABLE " select "
(
" identity " INT IDENTITY NOT NULL ,
" order " INT NOT NULL
)
GO
CREATE TABLE " select "
(
" identity " INT IDENTITY NOT NULL ,
" order " INT NOT NULL
)
当设置为SET QUOTED_IDENTIFIER OFF
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
USE Test
GO
SET QUOTED_IDENTIFIER OFF
GO
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='select')
DROP TABLE "select"
GO
CREATE TABLE "select"
(
"identity" INT IDENTITY NOT NULL,
"order" INT NOT NULL
)
消息 102,级别 15,状态 1,第 1 行
'select' 附近有语法错误。
2.B. 使用加单引号和双引号的标识符设置以下示例显示将 SET QUOTED_IDENTIFIER 设置为 ON 和 OFF 时,在字符串表达式中使用单引号和双引号的方式。
当SET QUOTED_IDENTIFIER OFF时候,可以执行单引号或双引号字符串
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
USE Test
SET QUOTED_IDENTIFIER OFF
GO
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'Test')
DROP TABLE dbo.Test
GO
USE Test
CREATE TABLE dbo.Test (ID INT, String VARCHAR(30))
GO
-- Literal strings can be in single or double quotation marks.
INSERT INTO dbo.Test VALUES (1, "'Text in single quotes'")
INSERT INTO dbo.Test VALUES (2, '''Text in single quotes''')
INSERT INTO dbo.Test VALUES (3, 'Text with 2 '''' single quotes')
INSERT INTO dbo.Test VALUES (4, '"Text in double quotes"')
INSERT INTO dbo.Test VALUES (5, """Text in double quotes""")
INSERT INTO dbo.Test VALUES (6, "Text with 2 """" double quotes")
GO