«

»

out 22

SET QUOTED_IDENTIFIER

Muitas vezes utilizada para possibilitar o uso de nomes reservados pelo SQL Server, vamos ter um claro entendimento sobre esta opção no SQL Server.

A sintaxe é bem simples:

 


SET QUOTED_IDENTIFIER { ON | OFF }

 

Ou está ligado ou está desligado. Apesar de não recomendado, geralmente é utilizado para possibilitar o uso de termos reservados pelo SQL Server em nomes de objetos. Por exemplo, desejo que minha tabela se chame SELECT.

 

SET QUOTED_IDENTIFIER OFF GO CREATE TABLE “select”
(
“identity” INT IDENTITY NOT NULL, “order” INT NOT NULL
);
GO

 

Com o QUOTED_IDENTIFIER desligado não é possível e o SQL retorna um erro informando apenas erro de sintaxe. Se você configurar o QUOTED_IDENTIFIER como ON, aí funcionará e você terá uma tabela chamada SELECT.

 

SELECT "identity","order" FROM "select" ORDER BY "order"; GO

 

Por padrão, esta opção vem configurada como ON. Além disso, pode ser usada para alterar a forma como o SQL interpreta as aspas:

 

USE AdventureWorks2012;
CREATE TABLE dbo.Test (ID INT, String VARCHAR(30)) ;
GO

INSERT INTO dbo.Test VALUES (1, “‘Texto em aspas simples'”);
INSERT INTO dbo.Test VALUES (2, ”’Texto em aspas simples”’);
INSERT INTO dbo.Test VALUES (3, ‘Texto com 2 ”” aspas simples’);
INSERT INTO dbo.Test VALUES (4, ‘”Texto em aspas duplas”‘);
INSERT INTO dbo.Test VALUES (5, “””Texto em aspas duplas”””);
INSERT INTO dbo.Test VALUES (6, “Texto com duas “””” aspas duplas”);
GO SET QUOTED_IDENTIFIER ON; GO

 

Textos entre aspas duplas são tratados como objetos (aqueles com nomes reservados ou não):

 

INSERT INTO dbo.”Test” VALUES (7, ‘Text with a single ” quote’); GO

 

As aspas duplas são obrigatórias apenas para objetos com nomes reservados:

 

SELECT ID, String FROM dbo.Test; GO

 

 .

Deixe uma resposta