Wpis tutaj na DBA.StackExchange ( Jakie są najlepsze praktyki dla wyzwalaczy do utrzymywania numeru wersji w rekordach? ) Zrodził ciekawe pytanie (przynajmniej interesujące mnie) dotyczące wydajności w MySQL. Kontekst polega na tym, że chcemy wstawić rekord do tabeli dla każdego aktualizowanego wiersza. Przed zaktualizowaniem wiersza chcemy zapisać poprzednią wartość, a …
To jest bardziej ogólne pytanie, ale motywacją tego pytania był problem, który napotkałem podczas korzystania z SQL Server. Mam ten wyzwalacz dołączony do zdarzenia Insert w tabeli, która zawiera pewną logikę, która jako efekt uboczny spowodowałaby błąd, gdyby nie wstawiono żadnych wierszy. Po dalszym dochodzeniu odkryłem, że spust uruchamia się …
Korzystam z certyfikatów między bazami danych ( jak wyjaśnił Erland Sommarskog ), aby kontrolować dostęp do określonej bazy danych w moim środowisku (SQL Server 2008 R2). Mam procedury składowane w bazie danych A, które aktualizują tabele w bazie danych B. Do tej pory zawsze działało to dla różnych procedur przechowywanych …
Mam problem z zaprojektowaniem tymczasowej bazy danych. Muszę wiedzieć, jak upewnić się, że mam tylko jeden aktywny rekord dla dowolnego przedziału czasowego dla sklepu. Przeczytałem tę odpowiedź , ale obawiam się, że nie mogę owinąć głowy tym, jak zadziałałby spust. W szczególności sposób, w jaki działałbym, który uruchamia się do …
W testtablebazie danych utworzyłem tabelę testbaseo następującej strukturze: product_no (int, not null) product_name (varchar(30), not null) price (money, null) expire_date (date, null) expire_time (time(7), null) Jak jednak napisać wyzwalacz, aby zaktualizował ten konkretny wiersz, który został zmodyfikowany (lub zaktualizowany o nowe informacje) i zapisał datę modyfikacji w expire_datepolu, a czas …
Czy jest jakiś sposób na wykonanie mysqldump, który zapisze wszystkie wyzwalacze i procedury z określonego db? Jakiś czas temu przeczytałem, że mysqldumprównież zapisze moje wyzwalacze, ale tak nie wygląda. Moje drugie powiązane pytanie brzmi: jak mogę sprawdzić plik SQL, jeśli istnieją wyzwalacze?
Mam wyzwalacz tabeli na UPDATE i INSERT, który dodaje wiersz do innej tabeli. Wystarczy dodać wiersz, jeśli jedna z czterech kolumn zostanie zmieniona. Próbowałem użyć JEŻELI AKTUALIZACJI (kol.) Do testowania zmian, ale ma martwy punkt. Testuje tylko, że pojawiła się pewna wartość. Muszę wejść głębiej, muszę porównać stare i nowe …
Mam widok podzielony na partycje, który ma poniżej wyzwalacza wstawiania (słaba partycja mans). Kiedy wykonuję DELETE, otrzymuję poniższy plan zapytań: delete from factproductprice where pricedate = '20170725' Uruchom na widoku: ALTER TRIGGER [dbo].[factProductPriceDelete] ON [dbo].[FactProductPrice] INSTEAD OF DELETE AS BEGIN IF @@ROWCOUNT = 0 RETURN; DECLARE @PriceDate DATE SELECT @PriceDate …
Tak jest w przypadku, gdy sprawdzam DB, istnieje tabela archiwum, która przechowuje historię użytkownika, i istnieje procedura wyzwalacza lub przechowywania, która po pewnym czasie usuwa wiersze z tej tabeli, aby uniknąć nadmiernego rozmiaru to samo, nie zaprojektowałem bazy danych, po prostu zajmuję się obsługą aplikacji korzystającej z tej bazy danych, …
Jak mogę przepisać dla SQL Server wyzwalacz, który został pierwotnie napisany dla Oracle? Oto mój kod aktywacyjny Oracle: CREATE OR REPLACE TRIGGER P000KUL_TEST BEFORE INSERT ON P000KUL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN SELECT TO_CHAR(SYSDATE, 'dd/mm/RRRR') INTO :NEW.SYSTEM_DATE FROM DUAL; SELECT TO_CHAR(SYSDATE, 'hh:mi') INTO :NEW.SYSTEM_TIME …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.