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 …
Widziałem wiele osób korzystających z funkcji COALESCE zamiast ISNULL. Z wyszukiwarek internetowych dowiedziałem się, że COALESCE jest standardem ANSI, więc mamy tę zaletę, że wiemy, czego się spodziewać podczas jego używania. Jednak ISNULL wydaje się łatwiejszy do odczytania, ponieważ wydaje się bardziej jasne, co robi. Zdaję sobie również sprawę, że …
Uczę się PostgreSQL i próbuję wymyślić, jak utworzyć tymczasową tabelę lub WITHdeklarację, której można użyć zamiast zwykłej tabeli do celów debugowania. Przejrzałem dokumentację CREATE TABLE i mówi, że VALUESmożna ją wykorzystać jako zapytanie, ale nie podaje żadnego przykładu; dokumentacja VALUESklauzuli w niej zawartej również nie ma przykładu? Napisałem więc prosty …
Jak ustawić kolumnę datownika, której domyślną wartością jest bieżący czas UTC? MySQL używa UTC_TIMESTAMP()funkcji znacznika czasu UTC: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) Więc próbowałem: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, ... I inne warianty …
W zapytaniach SQL używamy funkcji Grupuj według, aby zastosować funkcje agregujące. Ale po co używać wartości liczbowej zamiast nazwy kolumny w Grupuj według klauzuli? Na przykład: Grupuj według 1.
Badałem pewne blokowanie, gdy zobaczyłem zapytanie, które wyglądało mniej więcej tak: SELECT SomeField FROM SomeTable NOLOCK Widziałem NOLOCKi byłem ciekawy, jak może blokować inne zapytania, w tym przypadku DELETEoświadczenia. Rzuciłem okiem na zamki sp_locki oto, co zobaczyłem: DB S GRANT TAB IS GRANT PAG S GRANT Rozumiem teraz, że NOLOCKpowinien …
Moje główne umiejętności dotyczą SQL Server, ale zostałem poproszony o dostrojenie zapytania Oracle. Napisałem następujący SQL: declare @startDate int select @startDate = 20110501 I pojawia się ten błąd: declare @startDate int select @startDate = 20110501 Error at line 1 ORA-06550: line 1, column 9: PLS-00103: Encountered the symbol "@" when …
W zapytaniu, które miało zostać przeniesione ze składni sprzężenia zewnętrznego Oracle, do standardowej składni sprzężenia zewnętrznego SQL widziałem: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+) AND B.B_KEY = E.B_KEY(+) …
Właśnie patrzyłem na post na StackOverflow, w którym Aaron Bertrand proponuje użycie CTE zamiast tabeli liczb, co jest eleganckim sposobem wykonania danego zadania. Moje pytanie brzmi: dlaczego pierwsza linia CTE zaczyna się średnikiem? ;WITH n AS (SELECT TOP (10000) n FROM (SELECT n = ROW_NUMBER() OVER (ORDER BY s1.[object_id]) FROM …
Co powoduje, że legalne jest przekazywanie nazwy obiektu do procedury przechowywanej w systemie sp_helptext? Jaki mechanizm konwertuje nazwę obiektu na ciąg? na przykład -- works sp_helptext myproc sp_helptext [myproc] sp_helptext [dbo.myproc] -- and behaves the same as a string sp_helptext 'myproc' sp_helptext 'dbo.myproc' -- does not work sp_helptext dbo.myproc -- …
Jeden z naszych produktów obsługuje zarówno Oracle, jak i SQL Server jako backend bazy danych. Mamy klienta, który chce przejść z backendu Oracle na Microsoft SQL Server, co nie jest dla nas typowym przejściem. Jaki jest najłatwiejszy sposób na przeniesienie wszystkich danych z całego schematu Oracle do bazy danych SQL …
Spotkałem taki skrypt: set @sum = sum = (case when somecol1 is null then DATEDIFF(d,[somecol2],somecol3) else 0 end) Nie rozumiem znaczenia znaku równości (=) po sumie drugiego słowa kluczowego. Po uruchomieniu zapytania nie wyświetla żadnych błędów zarówno ze znakiem równości, jak i bez. Chcę poznać cel wprowadzenia znaku równości po …
TLDR; Jeśli spojrzysz na 2 plany wykonania, czy jest łatwa odpowiedź na to, co jest lepsze? Celowo NIE tworzyłem indeksów, więc łatwiej jest zobaczyć, co się dzieje. Kontynuując moje poprzednie pytanie, w którym znaleźliśmy różnicę w wydajności zapytania między różnymi stylami łączenia (tj. Zagnieżdżone vs. tradycyjne), zdałem sobie sprawę, że …
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.