COLLATE, Compatibility_50_409_0, and CLUSTERED

Hi,

I have an MS-SQL create table script and I need to decipher it a bit, and I need help in figuring out the meaning of 3 things....

1-COLLATE     (150 points)
2-Compatibility_50_409_0     (150 points)
3-CLUSTERED     (150 points)

If possible, please try to explain in laymans terms. (see below the sp)
CREATE TABLE [WorkDone] 
(
	[BatchName] [char] (15) COLLATE Compatibility_50_409_0 NOT NULL ,
	[ScannedDate] [datetime] NOT NULL ,
	CONSTRAINT [PK_ScannedBatch] PRIMARY KEY CLUSTERED 
	(
		[BatchName]
	)  ON [PRIMARY] 
) ON [PRIMARY]
GO

Open in new window

silentthread2kSenior Software EngineerAsked:
Who is Participating?
 
dportasConnect With a Mentor Commented:
The COLLATE keyword followed by the collation name ("Compatibility_50_409_0") defines the sort order and case-sensitivity of a character column. I haven't come across Compatibility_50_409_0 before but going by the name it looks like it is used for backwards compatibility purposes.

CLUSTERED defines the type of index created for the primary key constraint of this table. Indexes can be either clustered or non-clustered. The difference is in the internal structures used to store index and data pages. You can read details here:
http://msdn.microsoft.com/en-us/library/ms177443.aspx
0
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
I found that a sql 6.5 with great plains installed and then upgraded to sql 7 etc could result in that compatibility value: Compatibility_50_409_0
0
All Courses

From novice to tech pro — start learning today.