Hill
Hill

Reputation: 473

Is CARD a keyword in SQL? or: List of all SQL keywords

I'm adding a table to my database - CREATE TABLE dbo.Card - and SSMS is highlighting the word Card. I'm searching the internet trying to find out what that word means to SQL and if it is a keyword or not. I don't see it anywhere on Microsoft's list of SQL Reserved Words.

The main reason I care, aside from the highlighting bothering me, is that I want to avoid using any reserved words or keywords as schema/table/column/etc... names. When I absolutely have to - existing databases - I like to use square brackets to make things explicit.

Is Card a reserved word or keyword in SQL, or for any other reason unsafe to use as an identifier?

If it is safe to use, can anyone explain why SSMS is highlighting it?

If it is not 100% safe to use as a table name I'll most likely choose a different name.

Windows 8.1
SSMS v17.7
Red Gate - Up to date, including SQL Prompt 9.4.9
SQL Server 2017 (14.0)
Database Compatibility Level 2017 (140)

UPDATE

It looks like the main consensus is:

  1. It is not a reserved or keyword
  2. SSMS highlights it because reasons... It's probably used somewhere by MS SQL Server or SSMS

At this point I'm just terribly curious, but at least I know there's no need to worry. Thanks everyone for your answers.

Upvotes: 4

Views: 1490

Answers (2)

PSK
PSK

Reputation: 17943

Card is definitely not a reserved keyword in SQL Server

You can check the complete list of reserved words Reserved Keywords (Transact-SQL)

SSMS highlights it because reasons... It's probably used somewhere by MS SQL Server or SSMS

They are various keywords that have been subjectively chosen by Microsoft and placed into a list within the query editor syntax coloring file.

I suggest it's always good to use Delimited Identifiers ([] or ") when specifying table name and column names.

For example, the script you are using should be written as

CREATE TABLE [dbo].[Card](<Columns>)

Upvotes: 0

Pablo Santa Cruz
Pablo Santa Cruz

Reputation: 181280

No, card is not a reversed word in Microsoft SQLServer or SQL ANSI standard.

Upvotes: 1

Related Questions