nameless
31.08.2005, 13:27:26
moderatorzy tego rofum sie juz na mnie wkurzaja ale postanowilem napisac jeszcze jeden post bo wydaje mi sie ze to naprawde wazne i przyda sie nie tylko mi ale innym przegladajacym to forum
mam tabele na ktora chce nalozyc triggera
ale!!!
nie mam 100% pewnosci ze trigger sie wykona z roznych powodow nie wazne jakich
w kazdym razie chcialbym zeby pomimo tego ze trigger sie nie wykona transakcja zostala zatwierdzona a sql nie moze zwrocic bledu
jest to tylko trigger pomocniczy i jak sie nie wykona to trudno ale dane musza byc wprowadzone do bazy i nie moze zostac zwrocony blad
Method
4.10.2005, 11:18:16
jestem strasznie ciekaw z jakich powodow trigger sie nie wykona ?
opisz prosze [

]
a tak a propos powiedz mi czy ty wiesz napewno co to procedury wyzwalane
nameless
4.10.2005, 13:24:36
zakladasz ze jestes nieomylny?
no to gratuluje samooceny tylko tak dalej. jeszcze w powinienes pisac windowsy i mowic ludziom ze to musi byc bez bledu. kazdy program zawiera bledy tylko trzeba wiedziec jak go zepsuc.
moze sie nie wykonac np z mojego bledu
ale generalnie jest tak ze ma to byc dzialanie dodatkowe
nie ma koniecznosci wykonywania tych funkcji a przynajmniej nie jest to konieczne z punktu widzenia aplikacji ktora na tej bazie dziala
aplikacje nie ja pisalem i nie moge jej zmienic wiec tam przechwytywanie wyjatkow i innych bledow odpada
a jesli trigger sie nie wykona cofa transakcje
generalnie pierwsza instrukcja triggera moze byc zatwerdzenie transakcji
ale dalej zwracany jest blad i aplikacja tego nie przelknie
Method
4.10.2005, 20:37:39
po pierwsze:
Wcale nie zakladam ze jestem nieomylny, ty za to plytko interpretujesz i reagujesz agresywnie.
Pieknie mowisz o windowsach - no tak zawsze mozna zwalic na Billa G. Jak sa takie zle to po co ich uzywasz ?
po drugie:
nie odpowiedziales na moje pytanie na temat procedur wyzwalanych ?
po trzecie:
W duzych projektach istnieje ktos kto sie nazywa administratorem aplikacji - bo jak raczyles wspomniec nie ma softu bez bledow.
a teraz tak sie zastanowmy do czego sluza triggery:
- kontrola danych w tabelach - czyli jakas tam rejestracja dokonywanych zmian
- automatyzacja przekazywania informacji do innych programow , ze jest wymagane podjecie okreslonych dzialan w wypadku dokonania zmian na tabeli
- zachowanie zlozonych wiezow integralnosci, takich ktorych nie zalatwisz wiezami deklaracji
- A ponadto zdarzeniem wyzwalajacym jest operacja DML ( nie liczac Instead-of)
- wyzwalacz sam w sobie uruchamiany jest w tej samej transakcji co instrukcja wyzwalajaca.
Logicznym wydaje sie wiec ze cialo jego nie moze wydawac instrukcji sterowania transakcja.
nameless
4.10.2005, 21:01:28
ok
opisze ci problem
jest aplikacja na ktora nie mam wplywu
jest zainstalowana i nic moge w niej przerobic itd
chce zrobic archiwum zeby przepisywaly mi sie nowe rekordy
ale chce je miec na kazdy mieciac w innej tabeli - danych jest duzo
nie moge sobie pozwolic na utrate chocby jednego rekordu bo odtwirzenie go graniczy z cudem - jesli wogole dowiedzialbym sie ze ocs poszlo nie tak
poza tym nie musisz mi tlumaczyc co to trigger
a tak wogole to mozna uzyc commit transaction w triggerze i transakcja zostanie zatwierdzona ale jesli wystapi blad zostanie on zwrocony do aplikacji i aplikacja wariuje
SongoQ
4.10.2005, 21:11:16
Cytat
a tak wogole to mozna uzyc commit transaction w triggerze i transakcja zostanie zatwierdzona ale jesli wystapi blad zostanie on zwrocony do aplikacji i aplikacja wariuje
Obsluga wyjatkow?

Przeciez jest cos takiego.
Mam pytanie odnosnie bledu w triggerze. Jakiego typu bledy przewidujesz??
Jesli chesz tylko rekordy przepisywac to wystrarczy na dany miesiac tworzyc taka sama strukture tabeli co tabela bazowa, wtedy nie bedzie bledu.
nameless
5.10.2005, 08:20:08
no to wlasnie o to pytalem czy jest obsluga wyjatkow w transact sqlu?
bo ja nie umie czegos takiego znalezc w dokumentacji
moze jeakies naprowadzenie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.