Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wyślij e-mail dla każdego wiersza w zestawie wyników

Ten przypadek jest dokładnie tym, do czego pętle są dobre (i przeznaczone).

Ponieważ robisz rzeczy, które wykraczają poza zakres bazy danych, używanie do nich pętli jest całkowicie uzasadnione.

Bazy danych są przeznaczone do przechowywania danych i wykonywania zapytań dotyczących tych danych, które zwracają je w najbardziej przydatny sposób.

Relacyjne bazy danych mogą zwracać dane w postaci zestawów wierszy.

Kursory (i pętle, które ich używają) są zaprojektowane do utrzymywania stabilnego zestawu wierszy, dzięki czemu można wykonać pewne rzeczy z każdym z jego wierszy.

Przez „rzeczy” mam tu na myśli nie czyste sztuczki z bazami danych, ale prawdziwe rzeczy, które wpływają na świat zewnętrzny, rzeczy, do których została zaprojektowana baza danych, czy to wyświetlanie tabeli na stronie internetowej, generowanie raportu finansowego czy wysyłanie wiadomości e-mail.

Używanie kursorów do zadań związanych z samą bazą danych (takich jak przekształcanie jednego zestawu wierszy w inny) jest złe, ale całkiem miło jest używać ich do rzeczy takich jak ta, którą opisałeś.

Metody oparte na zestawach są zaprojektowane do pracy w ramach pojedynczej transakcji.

Jeśli twoje zapytanie set-base z jakiegoś powodu się nie powiedzie, twoja baza danych powróci do stanu sprzed, ale nie możesz "wycofać" wysłanej wiadomości e-mail. Nie będziesz w stanie śledzić swoich wiadomości w przypadku błędu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Śledzenie zaplanowanych zmian w programie SQL Server w zależności od dnia

  2. Symulacja CONNECT BY PRIOR Oracle w SQL Server

  3. Jak filtrować obiekty w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL, część 19

  4. Jak w SQL Server 2005 ustawić kolumnę liczb całkowitych, aby upewnić się, że wartości są większe od 0?

  5. Sformatuj numer telefonu w programie SQL Server (T-SQL)