У вас есть три проблемы:
- У вас есть несколько случаев, когда вы говорите
default
но не задающие что-нибудь
- У вас есть
check
, но не указать что-нибудь
- Ваш последний столбец определение
money,
с запятой запятой
Теперь ни один из них не ведет t o точного сообщения об ошибке, которое вы получаете, поэтому, возможно, вас больше не интересует (есть ли еще код доcreate table
бит?), но эти небольшие проблемы синтаксиса слишком локализованы, чтобы быть полезными в этом Q & Формат.
EDIT
Я просто побежал это на 2000 экземпляра SQL Server, и он работал отлично:
create table Buku
(
Kode_Buku char(5) constraint PK_Kode_Buku Primary Key,
Judul_Buku varchar(10) not null, -- added space here
Nama_Pengarang varchar(30) not null,
Penerbit varchar(30),
Kota_Terbit varchar(30), -- removed default here
Tahun_Terbit varchar(4), -- removed default here
Bahasa varchar(4), -- removed check here
Harga_Jual money -- removed comma here
)
Так что я не уверен, что вы делаете по-другому, но я могу Получите сообщение об ошибке, которое вы видите, с информацией, предоставленной вами в вопросе. Если вы все еще получаете сообщение об ошибке с этим кодом (и только этим кодом), вам нужно предоставить дополнительную информацию, такую как @@ VERSION, какой интерфейс вы используете для отправки инструкции create table в SQL Server, и т. д.
Вы «новый» для SQL Server 2000? Вы знаете, что SQL Server 2000 составляет 13 лет и в конце расширенной поддержки, верно? Любая причина, по которой вы не хотите использовать ни одну из 4 основных версий, выпущенных с тех пор (2005, 2008, 2008 R2, 2012)? –