SQL Server Forum / General / Other SQL Server Topics / October 2007
some error in table definition
|
|
Thread rating:  |
cong - 30 Oct 2007 11:35 GMT if exists(select * from dbo.sysobjects where id = object_id(N'BBSItems') and OBJECTPROPERTY(id,N'IsUserTable')=1) drop table BBSItems GO
CREATE TABLE BBSItems( ITEM_ID int IDENTITY(1,1) NOT NULL, ITEM_TITLE nvarchar(30) COLLATE Chinese_PRC_CS_AS NOT NULL, ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, COMPOSE_DATE smalldatetime NOT NULL, MODIFY_DATE smalldatetime NULL, IS_ORIGIONAL bit NOT NULL, CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), AUTHOR nvarchar(15) COLLATE Chinese_PRC_CS_AS NOT NULL, FARTHER_ID int NULL, REPLYD_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_REPLYD_TIMES DEFAULT(0), BROWSED_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_BROWSED_TIMES DEFAULT(0), LATEST_REPLICATION_ID int NULL, CONSTRAINT PK_BBSItem PRIMARY KEY CLUSTERD ( ITEM_ID ) ON PRIMARY, CONSTRAINT FK_BBSItem_BBSItem1 FOREIGN KEY ( LATEST_REPLICATION_ID )REFERENCES BBSItems( ITEM_ID), CONSTRAINT FK_BBSItem_UserInfo FOREIGN KEY ( AUTHOR )REFERENCES useinfo(nickname) ) ON PRIMARY GO
row 9:ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, constraint 'TABLE' definition wrong in gramma。
can you help me?
Roy Harvey (SQL Server MVP) - 30 Oct 2007 12:54 GMT >IS_ORIGIONAL bit NOT NULL, >CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), >AUTHOR nvarchar(15) COLLATE Chinese_PRC_CS_AS NOT NULL,
>row 9:ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, >constraint 'TABLE' definition wrong in gramma?? A constraint that comes after a comma is a table constraint. Table constraints must be specified AFTER all the columns. Since this is a DEFAULT constraint that must be associated with a column remove the comma and make it a column constraint.
>BROWSED_TIMES smallint NOT NULL >CONSTRAINT DF_BBSItem_BROWSED_TIMES DEFAULT(0), >LATEST_REPLICATION_ID int NULL When you get past that you will find that CLUSTERD is not the correct spelling of the keyword CLUSTERED. And you might prefer to spell ORIGIONAL as ORIGINAL, and if REPLYD is supposed to be the past tense of REPLY then you might want REPLYED.
Roy Harvey Beacon Falls, CT
Erland Sommarskog - 30 Oct 2007 23:13 GMT > When you get past that you will find that CLUSTERD is not the correct > spelling of the keyword CLUSTERED. And you might prefer to spell > ORIGIONAL as ORIGINAL, and if REPLYD is supposed to be the past tense > of REPLY then you might want REPLYED. Any particular reason he might want precisely that spelling? Do you happen to know that REPLYED is preferred over REPLIED in China? :-)
There is also a FARTHER_ID that maybe should be FATHER_ID.
 Signature Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Ed Murphy - 31 Oct 2007 03:26 GMT > There is also a FARTHER_ID that maybe should be FATHER_ID. Or PARENT_ID, unless China also has some relevant stance on figurative gender that I'm unaware of. :)
Roy Harvey (SQL Server MVP) - 31 Oct 2007 04:00 GMT >> When you get past that you will find that CLUSTERD is not the correct >> spelling of the keyword CLUSTERED. And you might prefer to spell >> ORIGIONAL as ORIGINAL, and if REPLYD is supposed to be the past tense >> of REPLY then you might want REPLYED.
>Any particular reason he might want precisely that spelling? Do you >happen to know that REPLYED is preferred over REPLIED in China? :-) I have no idea about what is preferred, except in English, but it appeared that the names might be intended to be in English. Which is why I said "might" and "perhaps".
I once wrote an entire forecasting system, misspelling forecast as forcast. I ended up fixing report headings when the users noticed, but left all the variables and field names alone. The poor guy who took over when I left knew how to spell it though and it drove him nuts.
Roy Harvey Beacon Falls, CT
cong - 31 Oct 2007 15:27 GMT On 10月31日, 上午11时00分, "Roy Harvey (SQL Server MVP)" <roy_har...@snet.net> wrote:
> On Tue, 30 Oct 2007 22:13:05 +0000 (UTC), Erland Sommarskog > [quoted text clipped - 18 lines] > Roy Harvey > Beacon Falls, CT if exists(select * from dbo.sysobjects where id = object_id(N'BBSItems') and OBJECTPROPERTY(id,N'IsUserTable')=1) drop table BBSItems GO
CREATE TABLE BBSItems( ITEM_ID int IDENTITY(1,1) NOT NULL, ITEM_TITLE nvarchar(30) COLLATE Chinese_PRC_CS_AS NOT NULL, ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, COMPOSE_DATE smalldatetime NOT NULL, MODIFY_DATE smalldatetime NULL, IS_ORIGIONAL bit NOT NULL CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), AUTHOR nvarchar(15) COLLATE Chinese_PRC_CS_AS NOT NULL, FATHER_ID int NULL, REPLYD_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_REPLYD_TIMES DEFAULT(0), BROWSED_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_BROWSED_TIMES DEFAULT(0), LATEST_REPLICATION_ID int NULL, CONSTRAINT PK_BBSItems PRIMARY KEY CLUSTERED ( ITEM_ID ) ON PRIMARY, CONSTRAINT FK_BBSItem_BBSItem1 FOREIGN KEY ( LATEST_REPLICATION_ID )REFERENCES BBSItems( ITEM_ID), CONSTRAINT FK_BBSItem_UserInfo FOREIGN KEY ( AUTHOR )REFERENCES userinfo(nickname) ) ON PRIMARY GO
wrong in row 20 nearPRIMARY
Roy Harvey (SQL Server MVP) - 31 Oct 2007 15:48 GMT Put PRIMARY in [square brackets].
Roy Harvey Beacon Falls, CT
>On 10??31??, ????11??00??, "Roy Harvey (SQL Server MVP)" ><roy_har...@snet.net> wrote: [quoted text clipped - 60 lines] > >wrong in row 20 nearPRIMARY cong - 31 Oct 2007 15:32 GMT On 10月31日, 上午11时00分, "Roy Harvey (SQL Server MVP)" <roy_har...@snet.net> wrote:
> On Tue, 30 Oct 2007 22:13:05 +0000 (UTC), Erland Sommarskog > [quoted text clipped - 18 lines] > Roy Harvey > Beacon Falls, CT if exists(select * from dbo.sysobjects where id = object_id(N'BBSItems') and OBJECTPROPERTY(id,N'IsUserTable')=1) drop table BBSItems GO
CREATE TABLE BBSItems( ITEM_ID int IDENTITY(1,1) NOT NULL, ITEM_TITLE nvarchar(30) COLLATE Chinese_PRC_CS_AS NOT NULL, ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, COMPOSE_DATE smalldatetime NOT NULL, MODIFY_DATE smalldatetime NULL, IS_ORIGIONAL bit NOT NULL CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), AUTHOR nvarchar(15) COLLATE Chinese_PRC_CS_AS NOT NULL, FATHER_ID int NULL, REPLYD_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_REPLYD_TIMES DEFAULT(0), BROWSED_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_BROWSED_TIMES DEFAULT(0), LATEST_REPLICATION_ID int NULL, CONSTRAINT PK_BBSItems PRIMARY KEY CLUSTERED ( ITEM_ID ) ON PRIMARY, CONSTRAINT FK_BBSItem_BBSItem1 FOREIGN KEY ( LATEST_REPLICATION_ID )REFERENCES BBSItems( ITEM_ID), CONSTRAINT FK_BBSItem_UserInfo FOREIGN KEY ( AUTHOR )REFERENCES userinfo(nickname) ) ON PRIMARY GO
wrong in row 20 near keyword primary
--CELKO-- - 31 Oct 2007 19:02 GMT >> I once wrote an entire forecasting system, misspelling forecast as forcast. I ended up fixing report headings when the users noticed, but left all the variables and field names alone. The poor guy who took over when I left knew how to spell it though and it drove him nuts. << LOL! One of the few things I like in Agile Programming is the use of a bulk text editor with a good regular expression to re-factor code. With my spelling, I have to!!
cong - 31 Oct 2007 23:04 GMT On 10月30日, 下午7时54分, "Roy Harvey (SQL Server MVP)" <roy_har...@snet.net> wrote:
> >IS_ORIGIONAL bit NOT NULL, > >CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), [quoted text clipped - 18 lines] > Roy Harvey > Beacon Falls, CT this is an example in a chinese book about ASP .
thank you for your reply, and I have a new problem. I uesd MYSQL before,don't familiar with SQL SERVER
if exists(select * from dbo.sysobjects where id = object_id(N'BBSItems') and OBJECTPROPERTY(id,N'IsUserTable')=1) drop table BBSItems GO
CREATE TABLE BBSItems( ITEM_ID int IDENTITY(1,1) NOT NULL, ITEM_TITLE nvarchar(30) COLLATE Chinese_PRC_CS_AS NOT NULL, ITEM_CONTENT nvarchar(3000) COLLATE Chinese_PRC_CS_AS NOT NULL, COMPOSE_DATE smalldatetime NOT NULL, MODIFY_DATE smalldatetime NULL, IS_ORIGIONAL bit NOT NULL CONSTRAINT DF_BBSItem_IS_ORIGIONAL DEFAULT(0), AUTHOR nvarchar(15) COLLATE Chinese_PRC_CS_AS NOT NULL, FATHER_ID int NULL, REPLYD_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_REPLYD_TIMES DEFAULT(0), BROWSED_TIMES smallint NOT NULL CONSTRAINT DF_BBSItem_BROWSED_TIMES DEFAULT(0), LATEST_REPLICATION_ID int NULL,
CONSTRAINT PK_BBSItems PRIMARY KEY CLUSTERED ( ITEM_ID ) ON PRIMARY, CONSTRAINT FK_BBSItem_BBSItem1 FOREIGN KEY ( LATEST_REPLICATION_ID )REFERENCES BBSItems( ITEM_ID), CONSTRAINT FK_BBSItem_UserInfo FOREIGN KEY ( AUTHOR )REFERENCES 个人信息(昵称) ) ON PRIMARY ) GO
ROW 21:NEAR KEYWORD "PRIMARY" WRONG IN GRAMMA
THANK YOU!
Erland Sommarskog - 31 Oct 2007 23:45 GMT > AUTHOR > )REFERENCES ????(??) [quoted text clipped - 4 lines] > > ROW 21:NEAR KEYWORD "PRIMARY" WRONG IN GRAMMA As Roy said in an earlier post, put PRIMARY in square brackets:
ON [PRIMARY]
This is needed because PRIMARY here is just an identifier for the primary filegroup. The clause could also be:
ON My_other_filegroup
As long as you don't use multiple filegroups, and it may take long before you come around to that, you can skip the ON clause althogether, as it just adds noise.
 Signature Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
|
|
|