Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
465 views
in Technique[技术] by (71.8m points)

sql server - Using UDF for default value of a column

I created a UDF that I am using to generate a default value for a column. It works great, but I want to pass another field as a parameter into the function. Is this possible?

For example, one of the fields is a DealerID field, and I want to pass in the value of the DealerID field into my UDF because I will use it to calculate the new value. Any help would be appreciated!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

No, because the default value will be needed before DealerID is known (eg on INSERT)

Edit:

This means that SQL Server does not the value in the table at the time of insert, only after. Therefore, it can not a UDF for the default.

For example, what about a multiple row insert, or where you have NEWID() default?

Now, using logic basic on DealerID: if it's GUID, why? It's an internal, non-user readable value.

If you really need this, you'll have to use a computed column for the "base" value and another column for the "actual" value with ISNULL.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...