Quantcast
Channel: SqlHints.com » SET QUOTED_IDENTIFIER ON
Viewing all articles
Browse latest Browse all 2

Difference Between SET QUOTED_IDENTIFIER ON and OFF setting in SQL Server

$
0
0

In this article we will discuss on the difference between SET QUOTED_IDENTIFIER ON and SET QUOTED_IDENTIFIER OFF. Please go through the article SET QUOTED_IDENTIFIER ON/OFF Setting in Sql Server to have detailed information on this setting. As a better practice we should always use SET QUOTED_IDENTIFIERS ON setting.

  SET QUOTED_IDENTIFIER ON SET QUOTED_IDENTIFIER OFF
Characters Enclosed within double quotes is treated as Identifier is treated as Literal
Try using Characters Enclosed within double quotes as identifier Works
Example: Below statement to create a table with table name “Table” succeeds.
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE
dbo.”Table”
(id int,”Function” VARCHAR(20)) GO
Fails
Example: Below statement to create a table with table name “Table” Fails.
SET QUOTED_IDENTIFIER OFF GO
CREATE TABLE
dbo.”Table”
(id int,”Function” VARCHAR(20)) GO
Error Message:
Msg 102, Level 15, State 1,
Line 1 Incorrect syntax near ‘Table’.
Try using Characters Enclosed within double quotes as Literal. Fails
Example: Below statement fails.
SET QUOTED_IDENTIFIER ON
GO
SELECT
“BIRADAR”
Error Message:
Msg 207, Level 16, State 1,
Line 1 Invalid column name ‘BIRADAR’.
Works
Example: Below Statement Works.
SET QUOTED_IDENTIFIER OFF
GO
SELECT
“BIRADAR”
Characters Enclosed within single quotes is treated as Literal
Example:
SET QUOTED_IDENTIFIER ON
GO
SELECT
‘BIRADAR’
is treated as Literal
Example:
SET QUOTED_IDENTIFIER ON
GO
SELECT
‘BIRADAR’
How to find all the objects which are created with SET QUTOED_IDENTIFIER ON/OFF Below Statement can be used to find all the objects created with SET QUTOED_IDENTIFIER setting as ON:
SELECT OBJECT_NAME (object_id) FROM sys.sql_modules WHERE uses_quoted_identifier = 1
Below Statement can be used to find all the objects created with SET QUTOED_IDENTIFIER setting as OFF:
SELECT OBJECT_NAME (object_id) FROM sys.sql_modules WHERE uses_quoted_identifier = 0

Please correct me, if my understanding is wrong. Comments are always welcome.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles



Latest Images