A. 使用加引号的标识符设置和保留字对象名
以下示例显示 SET QUOTED_IDENTIFIER 设置必须为 ON,而且表名内的关键字必须在双引号内,才能创建和使用具有保留关键字名称的对象。 复制代码
SET QUOTED_IDENTIFIER OFF
GO
-- An attempt to create a table with a reserved keyword as a name
-- should fail.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GOSET QUOTED_IDENTIFIER ON;
GO-- Will succeed.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GOSELECT "identity","order"
FROM "select"
ORDER BY "order";
GODROP TABLE "SELECT";
GOSET QUOTED_IDENTIFIER OFF;
GO
以下示例显示 SET QUOTED_IDENTIFIER 设置必须为 ON,而且表名内的关键字必须在双引号内,才能创建和使用具有保留关键字名称的对象。 复制代码
SET QUOTED_IDENTIFIER OFF
GO
-- An attempt to create a table with a reserved keyword as a name
-- should fail.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GOSET QUOTED_IDENTIFIER ON;
GO-- Will succeed.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GOSELECT "identity","order"
FROM "select"
ORDER BY "order";
GODROP TABLE "SELECT";
GOSET QUOTED_IDENTIFIER OFF;
GO
select name,is_quoted_identifier_on
from sys.databases设为ON:标识符可以用双引号分隔,而字符串还是用过单引号来分隔的:
SET QUOTED_IDENTIFIER on
gocreate table "table"(a int)