Funkcja wykonuje określoną pracę, zwykle przyjmując parametry jako dane wejściowe. Pod względem baz danych mogą one być specyficzne dla SQL lub dostawcy bazy danych.
Pracuję nad funkcją, która pozwala mi dodać indeks, jeśli nie istnieje. Mam problem z tym, że nie mogę uzyskać listy indeksów do porównania. jakieś pomysły? Jest to podobny problem do tworzenia kolumny, który został rozwiązany za pomocą tego kodu: https://stackoverflow.com/a/12603892/368511
Mam funkcję zdefiniowaną przez użytkownika: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Teraz chcę dołączyć do tego na innym stole, na przykład: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f join ut_FooFunc(f.ID, 1) u -- doesn't work where …
Powszechnie wiadomo, że SCHEMABINDINGfunkcja może uniknąć niepotrzebnego buforowania w planach aktualizacji: Jeśli używasz prostych UDF T-SQL, które nie dotykają żadnych tabel (tj. Nie mają dostępu do danych), upewnij się, że określiłeś tę SCHEMABINDINGopcję podczas tworzenia UDF. Spowoduje to związanie schematu UDF i zapewni, że optymalizator zapytań nie wygeneruje niepotrzebnych operatorów …
Czy w Postgres przygotowane zapytania i funkcje zdefiniowane przez użytkownika są równoważne jako mechanizm zabezpieczający przed wstrzyknięciem SQL ? Czy są jakieś zalety jednego podejścia względem drugiego?
Wiele napisano o zagrożeniach skalarnych UDF w SQL Server. Przypadkowe wyszukiwanie zwróci mnóstwo wyników. Są jednak miejsca, w których Skalarny UDF jest jedyną opcją. Na przykład: w przypadku XML: XQuery nie może być użyty jako obliczona definicja kolumny. Jedną z udokumentowanych przez Microsoft opcji jest użycie Scalar UDF do enkapsulacji …
Używam PostgreSQL 9.1 i mam tabelę użytkowników z loginkolumną. W nazwach logowania rozróżniana jest wielkość liter, na przykład Bob, MikE, John. Chciałbym przekształcić wszystkie te rekordy w małe litery. Jak mogę to zrobić?
Muszę przypisać wartości do 2 zmiennych, jak poniżej w funkcji Postgres. a := select col1 from tbl where ... b := select col2 from tbl where ... Jak mogę przypisać 2 wartości do 2 zmiennych w jednym poleceniu? Lubić a,b := select col1,col2 from tbl where ...
Mam tabelę z kolumną ciągów i predykatem, który sprawdza wiersze o określonej długości. W SQL Server 2014 widzę szacunkową wartość 1 wiersza bez względu na sprawdzaną długość. Daje to bardzo kiepskie plany, ponieważ w rzeczywistości są tysiące, a nawet miliony wierszy, a SQL Server decyduje się umieścić tę tabelę na …
Cel, powód Podczas próby utworzenia testowego przykładu funkcji samodzielnego odwoływania się jedna wersja zawiedzie, a inna się powiedzie. Jedyną różnicą jest dodanie SELECTdo treści funkcji, co skutkuje innym planem wykonania dla obu. Funkcja, która działa CREATE FUNCTION dbo.test5(@i int) RETURNS INT AS BEGIN RETURN( SELECT TOP 1 CASE WHEN @i …
Jestem początkującym w języku T-SQL. Chcę zdecydować, czy ciąg wejściowy jest palindromem, z wynikiem = 0, jeśli nie jest, a wyjście = 1, jeśli tak jest. Nadal zastanawiam się nad składnią. Nie dostaję nawet komunikatu o błędzie. Szukam różnych rozwiązań i informacji zwrotnych, aby lepiej zrozumieć i zrozumieć działanie T-SQL, …
Czy robię to dobrze...? Mam funkcję, która zwraca pieniądze ... CREATE FUNCTION functionName( @a_principal money, @a_from_date datetime, @a_to_date datetime, @a_rate float ) RETURNS money AS BEGIN DECLARE @v_dint money set @v_dint = computation_here set @v_dint = round(@v_dint, 2) RETURN @v_dint END GO Grant execute on functionName to another_user Go Zastanawiam …
Ponowne napisanie pełnego pytania Szukam funkcji agregującej First (). Tutaj znalazłem coś, co prawie działa: CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS anyelement LANGUAGE sql IMMUTABLE STRICT AS $$ SELECT $1; $$; -- And then wrap an aggregate around it CREATE AGGREGATE public.first ( sfunc = public.first_agg, …
Podczas profilowania bazy danych natknąłem się na widok odwołujący się do niektórych niedeterministycznych funkcji, do których dostęp uzyskuje się 1000–2500 razy na minutę dla każdego połączenia w puli tej aplikacji. Prosty SELECTz widoku daje następujący plan wykonania: To wydaje się być złożonym planem dla widoku, który ma mniej niż tysiąc …
Zastanawiam się, czy konieczne jest zapisanie zatwierdzenia po wstawieniu / usunięciu / aktualizacji w funkcji / procedurze? Przykład: create or replace function test_fun return number is begin delete from a; return 0; end; lub procedura create or replace procedure aud_clear_pro as begin delete from a; end; czy wymaga zatwierdzenia po …
Ostatnio przeglądałem dość stare procedury składowane napisane dla SQL Server 2005 i zauważyłem coś, czego nie rozumiem. Wydaje się, że to jakiś rodzaj wywołania funkcji. Próbka: SELECT o.name, o.type_desc, o.create_date FROM sys.objects o WHERE o.create_date < {fn Now()} -1; Spowoduje to wyświetlenie wszystkich wierszy z sys.objects, które mają działanie create_datewcześniej …
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.