I just found out that the DML keyword ROWGUIDCOL
is deprecated, replacement is $rowguid
; and that DML IDENTITYCOL
keyword is deprecated, new name is $identity
.
I don't understand why a non-variable (no dollar sign symbol) DML can be replaced with what is essentially an alias, which if I understand it, will sometimes evaluate back to ROWGUIDCOL
and sometimes to something else?. Can anyone explain what is going on here? What does this deprecation mean?
In AdventureWorks sample, for example, I don't think it means I should do this:
CREATE TABLE [Sales].[Customer]
(
[CustomerID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
...
[rowguid] [uniqueidentifier] $rowguid NOT NULL,
...
);
GO
The above doesn't work obviously. So what is it saying is deprecated? Clearly not the keyword ROWGUIDCOL
above?
I thought when something is deprecated that a new syntax must already exist and this would give me time to transition to a form that won't break in "SQL 2017+".
Origin: