Menu dokumentacji

Makra i funkcje#

Użyj create macro, aby utworzyć pomocnicze makro SQL bez typów. Użyj create function, gdy kod wywołujący potrzebuje sprawdzanych parametrów i sprawdzanego typu zwrotnego.

typesql
create function cents_to_dollars(cents: integer!) returns decimal(18, 2) as
  cast(cents as decimal(18, 2)) / 100.0;

select cents_to_dollars(amount)
from titan.stripe.charges

Makra SQL#

Składnia create macro name(parameters) as expression jest zgodna z dialektem zapytań. Parametry mogą mieć wartości domyślne. Makra tabel używają as table, po którym następuje zapytanie. Moduł sprawdzający traktuje je jako funkcje bez typów.

Funkcje z typami#

Funkcja z typami deklaruje każdy parametr oraz jeden skalarny lub tabelaryczny typ zwrotny. Ciała funkcji są wyrażeniami lub zapytaniami, a nie instrukcjami proceduralnymi. Rozwiązywanie jest statyczne, a rekursja zwraca TS0406.

Moduł sprawdzający porównuje ciało z zadeklarowanym typem zwrotnym. Skompilowana instrukcja wykonywana w środowisku uruchomieniowym zawiera obsługiwany SQL bez składni adnotacji.

Kolejność rozwiązywania#

Lokalne deklaracje i eksporty zaimportowanych pakietów tworzą jedno zamknięte środowisko. Powielone eksporty są błędami, a nie nadpisaniami zależnymi od kolejności. Wywołania funkcji są sprawdzane pod kątem liczby argumentów (TS0404) i ich typów (TS0405).

Używaj pakietów, aby współdzielić funkcję między plikami. Zachowaj deklarację lokalną, gdy jej znaczenie dotyczy jednego modelu i powinno być recenzowane razem z nim.