Unix Technical Forum

SQL Server 2005 database - Problem

This is a discussion on SQL Server 2005 database - Problem within the SQL Server forums, part of the Microsoft SQL Server category; --> Hello! I have a problem, and I looking for help if someone can handle this. I use asp.net 2.0, ...


Go Back   Unix Technical Forum > Database Server Software > Microsoft SQL Server > SQL Server

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 03-01-2008, 03:42 PM
Zeljko Bilandzija
 
Posts: n/a
Default SQL Server 2005 database - Problem

Hello!

I have a problem, and I looking for help if someone can handle this.
I use asp.net 2.0, and I create web site which support users from internet
(Web Site Administration Tool) and with that option i get database named
ASPNETDB.MDF.
When someone via page is creating account, database creates a new record in
aspnet_users table.
I made another table (table User_Data, columns UserID, Level, Points, ...),
and i want that these data are set to some default values automatically when
user press Create Account button (something like this, Columns Level to 1,
column Points to 0, ...)
Which relationship i must use between two tables, and what else i must to do
to be able make this.
I made relathionship FK_aspnet_Users_Users_Data, and set UPDATE statement to
Set Default, and i was set default values for columns in User_Data table,
and when user press Create Account on page, i get error.

I don't know if you understand what i want, but i want to, when user create
new account, that data in other tables are populated automatically for that
user, with some default values, that i specified earlier.

Thanks


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 03-01-2008, 03:42 PM
Erland Sommarskog
 
Posts: n/a
Default Re: SQL Server 2005 database - Problem

Zeljko Bilandzija (zac9393@email.t-com.hr) writes:
> I have a problem, and I looking for help if someone can handle this.
> I use asp.net 2.0, and I create web site which support users from internet
> (Web Site Administration Tool) and with that option i get database named
> ASPNETDB.MDF.
> When someone via page is creating account, database creates a new record
> in aspnet_users table.
> I made another table (table User_Data, columns UserID, Level,
> Points, ...), and i want that these data are set to some default values
> automatically when user press Create Account button (something like
> this, Columns Level to 1, column Points to 0, ...)
>
> Which relationship i must use between two tables, and what else i must
> to do to be able make this.
>
> I made relathionship FK_aspnet_Users_Users_Data, and set UPDATE
> statement to Set Default, and i was set default values for columns in
> User_Data table, and when user press Create Account on page, i get
> error.
>
> I don't know if you understand what i want, but i want to, when user
> create new account, that data in other tables are populated
> automatically for that user, with some default values, that i specified
> earlier.


You would need a trigger to add data to User_Data when a new row is
added to aspnet_users:

CREATE TRIGGER add_user_data ON aspnet_Users FOR INSERT AS
INSERT User_Data(UserID, Level, Points, ...)
SELECT UserID, 1, 0, --- more defaults goes here
FROM inserted

What you set up was a foreign-key relation, which you indeed should have
one, but it serves a different purpose. When you do:

ALTER TABLE user_data ADD
CONSTRAINT fk_user_data_aspnet_users FOREIGN KEY(UserID)
REFERENCES aspnet_Users (UserID)

you state that whenever a row is added to user_data, there must be a
row in aspnet_Users with that UserID. As written above, the constraint
also prohibits deleting a row in aspnet_users if there is a referencing
UserID in user_data. Same applies if you try to change the user id in
aspnet_Users.

When you added:

ON UPDATE SET DEFAULT

this changes what happens if you update a UserID in aspnet_Users. Instead
of getting an error, the referencing UserID in User_data will be set to
its default value, if it has one. This is a very rare thing to do.



--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pro...ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinf...ons/books.mspx
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 07:41 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com