|
|
|
SSCrazy Eights
        
Group: General Forum Members
Last Login: Yesterday @ 6:54 AM
Points: 9,364,
Visits: 6,462
|
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Thursday, January 31, 2013 8:01 AM
Points: 1,232,
Visits: 1,046
|
|
Tom.Thomson (3/8/2011)
The right answer of course is "each of them can (but only one at a time)" so of the options provided 3 is closest to correct. 1 (the "right" answer) would only be really correct if the question was "how many of them can be rowguidcol columns at the same time".
I have to agree to disagree with this statement. "enabled" is the key word in this question and makes perfect english as the last word in the question. This makes it the main describer for the question.
You can "enable" ROWGUIDCOL on any UID column in a table, but it can only be "enabled" on one row. When something is done and the switch is on it is enabled. The concept I learned from the question is that enabling ROWGUID on any column automaticly disables it on all other columns when using Table Designer.
When being done from a script the DDL you have to use to make another column the ROWGUIDCOL really brings home why the question makes perfect sense.
Create a table called Table_1 give it three UID columns and set the first or second one to ROWGUID. CREATE TABLE [dbo].[Table_1]( [uid01] [uniqueidentifier] ROWGUIDCOL NULL, [uid02] [uniqueidentifier] NULL, [uid03] [uniqueidentifier] NULL ) ON [PRIMARY] ALTER TABLE [dbo].[Table_1] ADD CONSTRAINT [DF_Table_1_uid01] DEFAULT (newid()) FOR [uid01] ALTER TABLE [dbo].[Table_1] ADD CONSTRAINT [DF_Table_1_uid02] DEFAULT (newid()) FOR [uid02] ALTER TABLE [dbo].[Table_1] ADD CONSTRAINT [DF_Table_1_uid03] DEFAULT (newid()) FOR [uid03] GO
Now try to Alter the table and set any other column to ROWGUID. ALTER TABLE dbo.Table_1 ALTER COLUMN uid02 ADD ROWGUIDCOL GO
It can't be done because ROWGUIDCOL is already enabled on another COLUMN and it can only be enabled on ONE column. This looks really wierd when using the querry designer becuase it will let you select YES to the option on any column, but it is only enabled on the last one you pick. Try it out.
BEGIN TRANSACTION ALTER TABLE dbo.Table_1 ALTER COLUMN uid03 DROP ROWGUIDCOL GO ALTER TABLE dbo.Table_1 ALTER COLUMN uid02 ADD ROWGUIDCOL GO COMMIT
So lets read the qustion again: How many UID columns in a table can have ROWGUIDCOL enabled?
You can enable it on any UID column in a table, but it can only be enabled on one column.
One last thing to point out about ROWGUIDCOL property is that differant from an Identity Column, the Object explorer gives you no clues about which column has ROWGUIDCOL enabled.
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Yesterday @ 11:53 AM
Points: 2,672,
Visits: 2,416
|
|
| I guess my question is, once you have a GUID, what is the point of the other unique columns?
|
|
|
|
|
SSChasing Mays
      
Group: General Forum Members
Last Login: Thursday, February 21, 2013 5:19 PM
Points: 658,
Visits: 455
|
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: 2 days ago @ 3:34 PM
Points: 2,170,
Visits: 3,582
|
|
Daniel Bowlin (3/8/2011) I guess my question is, once you have a GUID, what is the point of the other unique columns?
I think there is no point in adding other unique colums. I just happened to read about GUID's and thought of this question.
Mohammed Moinudheen
|
|
|
|
|
UDP Broadcaster
      
Group: General Forum Members
Last Login: Wednesday, April 17, 2013 10:57 PM
Points: 1,491,
Visits: 3,008
|
|
Tom.Thomson (3/8/2011) Interesting question.
There is however a problem with use of imprecise English - this is of course sheer nit-picking, and I'm not complaining because I guessed that the chances were better than even that imprecise English was being used so that I got it "right" by deliberately selecting an answer I knew to be wrong.
The right answer of course is "each of them can (but only one at a time)" so of the options provided 3 is closest to correct. 1 (the "right" answer) would only be really correct if the question was "how many of them can be rowguidcol columns at the same time". Tom, you've shown that you'd never have trouble with this riddle: If I have two American coins with a total value of 30 cents and one of them is not a quarter, what are they?
|
|
|
|
|
SSCoach
         
Group: General Forum Members
Last Login: 2 days ago @ 1:46 PM
Points: 18,732,
Visits: 12,329
|
|
|
|
|
|
SSCoach
         
Group: General Forum Members
Last Login: 2 days ago @ 1:46 PM
Points: 18,732,
Visits: 12,329
|
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Monday, May 13, 2013 11:21 AM
Points: 2,163,
Visits: 2,148
|
|
| Thanks for the question, I did have to go read in BOL to figure out how to answer it, so I learned something.
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Today @ 11:59 AM
Points: 7,076,
Visits: 7,115
|
|
SanDroid (3/8/2011)
Tom.Thomson (3/8/2011)
The right answer of course is "each of them can (but only one at a time)" so of the options provided 3 is closest to correct. 1 (the "right" answer) would only be really correct if the question was "how many of them can be rowguidcol columns at the same time".I have to agree to disagree with this statement. "enabled" is the key word in this question and makes perfect english as the last word in the question. This makes it the main describer for the question. I don't think the word "enabled" helps at all. The way the question is phrased would allow it to help only if the word "simultaneously" were inserted between "can" and "have" (or after "enabled" if a little sloppiness is permitted).
Tom Que conclure à la fin de tous mes longs propos? C'est que les préjugés sont la raison des sots. (Voltaire, 1756)
|
|
|
|