Προς το περιεχόμενο

MSSQL 2008 Trigger ερώτηση


we_will_rise

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα,

 

θέλω να δημιουργήσω έναν trigger πάνω στον πίνακα system, ο οποίος έχει 3 πεδία. Το datettimein, datetimeout, charge. Αυτό που θέλω είναι μόλις εισάγεται τιμή στο datetimeout να υπολογίζεται η χρέωση και να εισάγεται στο πεδίο charge.

 

Η προσπάθειά μου:

>CREATE TRIGGER cost_calc ON system
FOR INSERT,UPDATE
AS
UPDATE system SET charge = (datediff("MINUTE", system.datetimein,system.datetimeout)*0.0333)-0.1*(datediff("MINUTE", system.datetimein,system.datetimeout)*0.0333)

go

 

Αυτό: -0.1*(datediff("MINUTE", system.datetimein,system.datetimeout)*0.0333)

το έβαλα για τον υπολογισμό κόστους με έκπτωση 10%

 

Edit: τώρα πρόσεξα ότι έχω δηλώσει τα datetimein και datetimeout ως varchar(50). Ίσως γι'αυτό δεν δουλεύει ;

Δημοσ.

Σαφως. Δουλευει για DATETIME ή SMALLDATETIME.

Επισης, δεν χρειαζεται να κανεις 2 φορες τον υπολογισμο. Μπορεις απλα να πεις:

>UPDATE system SET charge = 0.9 * (datediff("MINUTE", system.datetimein,system.datetimeout)*0.0333)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...