View Full Version : DELETE SET DEFAULT
fakhravari
شنبه 26 مهر 1393, 17:56 عصر
با سلام
می خواستم بپرسم DELETE SET DEFAULT بعد دستور delete از کجا مقدار DEFAULT جایگذین می کنه!:متفکر:
parvizwpf
شنبه 26 مهر 1393, 18:08 عصر
نمونه دستورش رو مینویسید؟
fakhravari
شنبه 26 مهر 1393, 18:09 عصر
CREATE TABLE [Categories] (
[CategoryID] [int] IDENTITY(1, 1) PRIMARY KEY ,
[CategoryName] [nvarchar](50) NOT NULL ,
[CategoryPosition] [int] NULL
)
GO
CREATE TABLE [Forums]
(
[ForumID] [int] IDENTITY(1, 1) PRIMARY KEY ,
[CategoryID] [int] NOT NULL REFERENCES Categories (CategoryID)
ON DELETE CASCADE
ON UPDATE CASCADE ,
[ForumName] [nvarchar](256) NOT NULL ,
[ForumDescription] [nvarchar](MAX) NULL ,
[ForumPosition] [int] NOT NULL
)
GO
CREATE TABLE [Topics]
(
[TopicID] [int] IDENTITY(1, 1) PRIMARY KEY ,
[ForumID] [int] REFERENCES Forums (ForumID)
ON DELETE SET DEFAULT
ON UPDATE CASCADE ,
[Subject] [nvarchar](MAX) NOT NULL ,
[Date] [datetime] NULL ,
[ViewCount] [int] NULL
)
GO
مقدار default که به ستون میدیم؟
توی identity نمیشه default بدیم!
parvizwpf
شنبه 26 مهر 1393, 18:14 عصر
شاید اینرو نیاز دارید؟
http://www.sqlteam.com/article/using-set-null-and-set-default-with-foreign-key-constraints
fakhravari
شنبه 26 مهر 1393, 18:21 عصر
منظور من موقع دلیت SET DEFAULT هر کاری میکنم مقدار نال جایگزین میشه
parvizwpf
شنبه 26 مهر 1393, 18:30 عصر
بنظرم set default قبلش default رو میخواید تعریف کنید برای ستون.
create table Users (
UserID int primary key, UserName varchar(100),
ThemeID int default 1 constraint Users_ThemeID_FK references Themes(ThemeID) on delete set default )
go
fakhravari
شنبه 26 مهر 1393, 18:34 عصر
تعریف کردم اما جواب نداد :متفکر:
parvizwpf
شنبه 26 مهر 1393, 18:47 عصر
آقا من الان با این جواب گرفتم:
CREATE TABLE Themes(Themeid INT IDENTITY PRIMARY KEY,themeName NVARCHAR(30))
GO
create table Users ( UserID int primary key, UserName varchar(100),
ThemeID int default 1 constraint Users_ThemeID_FK references Themes(Themeid) on delete set default )
go
insert into Themes ( ThemeName) values ('Winter')
insert into Themes ( ThemeName) values ('josef')
insert into Users(UserID, UserName, ThemeID) values (1,'JSmith',null)
insert into Users(UserID, UserName, ThemeID) values (2,'Ted',1)
insert into Users(UserID, UserName, ThemeID) values (3,'ARod',2)
delete from Themes where ThemeID = 2
SELECT * FROM themes
SELECT * FROM users
fakhravari
شنبه 26 مهر 1393, 23:46 عصر
default ستون جایگذین میشه
حمیدرضاصادقیان
یک شنبه 27 مهر 1393, 13:20 عصر
سلام.
ببینید این برای این هست که وقتی شما یک Parent رو حذف میکنید و زیر مجموعه هاش حذف میشه به جای اینکه اون ردیف رو حذف کنه جای ستونهای جدول دوم مقدار Default بذاره که اینم میشه مقدار Default مربوط به ستونهای جدول زیر مجموعه.
ربطی به این ستونی که دارید حذف می کنید نداره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.