![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello everybody. Unfortunately I am pretty new to sql-server 2000 I need some help with a Trigger I created. I created a trigger witch takes the id of the affected row and does a update on a other table with that ID. The trigger works fine with one affected row. But when there are more then one rows affected, i get an error. I found out that SQL-server does not support row-level triggers. I should probable make my own cursor and itterate through the deleted table. but i don't know how to do that. since i'm new to sql-server 2000 What I want is to itterate through the deleted table, just like the ORACLE FORE EACH ROW. retrieving the ID's and using them to update the CHECKED table. Is there anybody who has encountered the same problem and has a workaround for it? I would really appreciate some help with this. CREATE TRIGGER TR_Customers_CHECKED_Update ON Customers FOR UPDATE AS Begin DECLARE @CUSTID bigint SET @CUSTID = (SELECT CustomerID FROM Deleted) update CHECKED set approved = 'NO' where CHECKED.CustomerID = @CUSTID; end |
#3
| |||
| |||
|
#4
| |||
| |||
|
|
Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Sample data is also a good idea, along with clear specifications. Your design sounds flawed. You have a customer_id which has a huge size, and no way to validate it (check digit, anything??) Next, we seldom use binary flags in SQL; instead we have a history with (start, finish, status) triplets and/or an encodeing scheme for the status. When I see a table named "CHECKED", I get scared. That is a status, not an entity or relationship!! It means that you have split an attribute out of an entity and made it into a separate table. If you had a "MalePersonnel" and a "FemalePersonnel", you see the flaw of a split on "sex" immediately. Knowing that uppercase names are almost 10 times more often mis-read or mis-typed, why did you use them? We had no choice in the days of punchcards. In fact, you whoel design seems to be a punch card system done in SQL. You need to learn BASIC RDBMS, and how to use VIEWs. |
#5
| |||
| |||
|
|
Thanks for the reply! Your right I'm a beginner, but the example above is ficticious! In fact there is no checked table! I made that up. I choose the checked name just for practice sake. The original tables are in Dutch, i wouldn't want to bother you with Dutch . |
![]() |
| Thread Tools | |
| Display Modes | |
| |