By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,247 Members | 1,165 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,247 IT Pros & Developers. It's quick & easy.

need information for "Before Select" Trigger

P: n/a
hi guys!
Currently i'm facing a bit odd situation. i cant modify my code so i
have to make changes in SQL Server.

the problem is, i've modified one table by adding new column and now i
want only those row which has not null value in that column whenever
the select statement gets fire. i mean in every select statement only
those rows should be returned which has NOT NULL value in the newly
added column.

for this i've created one view and tried to run the application but the
i'm facing some problem as my application is developed in .net 2.0,
i've used lots of .net functionalities and now i cant make any changes
in Code.

another solution i think is triggers. if i can fire a trigger before
any select statements, my problem can be solved instantly but i'm
afraid i can not write andy "before select" trigger.

if anyone has any idea or any other solution to my problem, please let
me know.

all suggestions are welcomed.

thanks,
Lucky

Jun 8 '06 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Lucky (tu************@gmail.com) writes:
Currently i'm facing a bit odd situation. i cant modify my code so i
have to make changes in SQL Server.

the problem is, i've modified one table by adding new column and now i
want only those row which has not null value in that column whenever
the select statement gets fire. i mean in every select statement only
those rows should be returned which has NOT NULL value in the newly
added column.

for this i've created one view and tried to run the application but the
i'm facing some problem as my application is developed in .net 2.0,
i've used lots of .net functionalities and now i cant make any changes
in Code.

another solution i think is triggers. if i can fire a trigger before
any select statements, my problem can be solved instantly but i'm
afraid i can not write andy "before select" trigger.


There are no BEFORE SELECT triggers. (In fact, there are no BEFORE triggers
at all in SQL Server.)

The way to handle this would be define a view, which includs a filter on
this column.

However, personally, I would not add a view for such a simple condition,
but rather add it as needed.

If you real problem is that this table is referred to in lots of places
(lots => more than 20), and you want this column to take effect every
where, you could renamed the table, and then create a view with that
carries on the original name of the table.


--
Erland Sommarskog, SQL Server MVP, es****@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
Jun 8 '06 #2

P: n/a
Hi Pal,
i did the same way but as i said i'm using .net 2.0's dataset which
seems doesnt understands the view. As i've added "Enforced Constraints"
in the Dataset, may be that could not allowed the View to be considered
with foriegn key, unique value, not null constraint.

to avoid this situation i need to some other way. and yes it is true.
i'm reffering it in more then 20 webpages so i cant modifiy it.

anyways thanks for help.

Lucky

Erland Sommarskog wrote:
Lucky (tu************@gmail.com) writes:
Currently i'm facing a bit odd situation. i cant modify my code so i
have to make changes in SQL Server.

the problem is, i've modified one table by adding new column and now i
want only those row which has not null value in that column whenever
the select statement gets fire. i mean in every select statement only
those rows should be returned which has NOT NULL value in the newly
added column.

for this i've created one view and tried to run the application but the
i'm facing some problem as my application is developed in .net 2.0,
i've used lots of .net functionalities and now i cant make any changes
in Code.

another solution i think is triggers. if i can fire a trigger before
any select statements, my problem can be solved instantly but i'm
afraid i can not write andy "before select" trigger.


There are no BEFORE SELECT triggers. (In fact, there are no BEFORE triggers
at all in SQL Server.)

The way to handle this would be define a view, which includs a filter on
this column.

However, personally, I would not add a view for such a simple condition,
but rather add it as needed.

If you real problem is that this table is referred to in lots of places
(lots => more than 20), and you want this column to take effect every
where, you could renamed the table, and then create a view with that
carries on the original name of the table.


--
Erland Sommarskog, SQL Server MVP, es****@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


Jun 8 '06 #3

P: n/a
Lucky wrote:
Hi Pal,
i did the same way but as i said i'm using .net 2.0's dataset which
seems doesnt understands the view. As i've added "Enforced Constraints"
in the Dataset, may be that could not allowed the View to be considered
with foriegn key, unique value, not null constraint.

to avoid this situation i need to some other way. and yes it is true.
i'm reffering it in more then 20 webpages so i cant modifiy it.

anyways thanks for help.

Lucky


I don't think I understand what your problem is but you can obtain the
same effect as a "before" trigger by referring to the virtual table
called Deleted within the trigger. The Deleted table contains the state
of the changed rows before the statement was executed.

--
David Portas, SQL Server MVP

Whenever possible please post enough code to reproduce your problem.
Including CREATE TABLE and INSERT statements usually helps.
State what version of SQL Server you are using and specify the content
of any error messages.

SQL Server Books Online:
http://msdn2.microsoft.com/library/m...S,SQL.90).aspx
--

Jun 8 '06 #4

P: n/a
Lucky (tu************@gmail.com) writes:
i did the same way but as i said i'm using .net 2.0's dataset which
seems doesnt understands the view. As i've added "Enforced Constraints"
in the Dataset, may be that could not allowed the View to be considered
with foriegn key, unique value, not null constraint.

to avoid this situation i need to some other way. and yes it is true.
i'm reffering it in more then 20 webpages so i cant modifiy it.


Looks like you have to modify 20+ web pages one way or another.

I don't really know how your .Net looks like, but permit me to point
out that had you retrieved the data with stored procedures, the change
would have been snap.

Then again, not even that should be necessary. Had you defined the
SelectCommand for the adapter in one place, it would also have been
a simple thing.

So when you modify your 20+ web pages, you strive to find a strategy
so that it does not happen again.

You may also want to visit microsoft.public.dotnet.framework.adonet for
better advice for the ADO .Net side of things.

--
Erland Sommarskog, SQL Server MVP, es****@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
Jun 8 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.