View Full Version : نوشتن 2 كليد اصلي در يك جدول
masoud.a
سه شنبه 23 فروردین 1390, 20:06 عصر
سلام
2 تا Primary Key رو ميتونم با نگه داشتن كليد Ctrl تو يه جدول تعريف كنم،ولي تو كد نويسي چطوري اين كار رو ميشه كرد؟
ممنون ميشم اگه كمكم كنيد
Reza_Yarahmadi
سه شنبه 23 فروردین 1390, 22:14 عصر
میتونید بصورت زیر عمل کنید
CREATE TABLE TableName
(
Key1 int NOT NULL,
Key2 int NOT NULL,
CONSTRAINT PKName PRIMARY KEY CLUSTERED
(
Key1, Key2
)
)
masoud.a
چهارشنبه 24 فروردین 1390, 00:01 صبح
اين كد رو نوشتم ولي بازم خطا ميگيره
CREATE TABLE Register(RegDate DateTime, Grade int,StdNo int,PID int ,
StdNo int NOT NULL,
PID int NOT NULL,
CONSTRAINT PKName PRIMARY KEY CLUSTERED
(
StdNo, PID
)
constraint FKR1 Foreign Key (StdNo) References Student(StdNo),
constraint FKR2 Foreign Key (PID) References Present(PID))
Error ي ميگيره اينه
Incorrect syntax near the keyword 'CREATE'.
Incorrect syntax near the keyword 'constraint'
StdNo,PID اولي رو پاك كه ميكنم اينو ميگه:
Incorrect syntax near the keyword 'CREATE'.
Incorrect syntax near the keyword 'constraint'.
oliya24
چهارشنبه 24 فروردین 1390, 13:51 عصر
سلام من ایتن کد رو دیشب نوشتم و بدون هیچ مشکلی اجرا شد امروز هم نوشتم اما امروز که نوشتم خطا داد در اخر مشکل رو اینطور حل کردم که میبینی
CREATE TABLE BMO (STUDENTID INT NOT NULL, STUDENTNAME NVARCHAR(22) NOT NULL
CONSTRAINT YU PRIMARY KEY CLUSTERED (STUDENTID,STUDENTNAME))
اگر دقت کنی میبینی که در اخر دستور CONSTRAINT دو تا پرانتز گذاشتم اگر یکی میگذاشتم بم ERORR میداد
و برای کمک بیشتر به خودت لطف کن کدهات رو داخل تگ SQL بگذار :
خوب تمام این کارا رو انجام بده مثل کدی که برت فرستادم انشاالله مشکل حله
روز خوش
Reza_Yarahmadi
چهارشنبه 24 فروردین 1390, 18:04 عصر
اين كد رو نوشتم ولي بازم خطا ميگيره
بصورت زیر امتحان کنید.
CREATE TABLE Register
(
RegDate DateTime NULL,
Grade int NULL,
StdNo int NOT NULL REFERENCES Student(vahed)
ON UPDATE NO ACTION
ON DELETE NO ACTION,
PID int NOT NULL REFERENCES Present(PID)
ON UPDATE NO ACTION
ON DELETE NO ACTION
CONSTRAINT PKName PRIMARY KEY CLUSTERED
(
StdNo, PID
)
)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.