Czy istnieje sposób na wygenerowanie skryptu tworzenia z istniejącej tabeli wyłącznie w języku T-SQL (bez użycia SMO, ponieważ T-SQL nie ma dostępu do SMO). Powiedzmy, że procedura składowana, która otrzymuje nazwę tabeli i zwraca ciąg znaków, który zawiera skrypt tworzenia dla danej tabeli? Teraz opiszę sytuację, w której się znajduję, …
W SQL Server 2008 używam RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)do zwracania zestawu danych za pomocą RANK. Ale mam setki rekordów dla każdej partycji, więc otrzymam wartości od rangi 1, 2, 3 ...... 999. Ale chcę tylko do 2 RANKsw każdym PARTITION. Przykład: ID Name Score Subject …
Testuję odporność na ataki z zastrzyków na bazę danych SQL Server. Wszystkie nazwy tabel w bazie danych są pisane małymi literami, a w sortowaniu rozróżniana jest wielkość liter , Latin1_General_CS_AS . Ciąg, który mogę wysłać, jest wymuszony dużymi literami i może mieć maksymalnie 26 znaków. Nie mogę więc wysłać tabeli …
Jest to dość powszechna wiedza, którą powinieneś mieć SET NOCOUNT ON domyślnie podczas tworzenia nowych procedur przechowywanych. Microsoft zmienił domyślny szablon, aby uwzględnić go w 2012 roku. Pomyślałem, że powinien być taki sam dla wyzwalaczy, ale nie jest on uwzględniony w szablonie. Czy jest to celowe czy tylko niedopatrzenie?
Oto mój scenariusz: Pracuję nad lokalizacją dla mojego projektu i zwykle robiłbym to w kodzie C #, jednak chcę to zrobić trochę więcej w SQL, ponieważ próbuję trochę wzmocnić mój SQL. Środowisko: SQL Server 2014 Standard, C # (.NET 4.5.1) Uwaga: sam język programowania powinien być nieistotny, podaję go tylko …
Musimy utworzyć wartość skrótu danych nvarchar do celów porównawczych. W T-SQL dostępnych jest wiele algorytmów mieszania, ale który z nich najlepiej wybrać w tym scenariuszu? Chcemy zapewnić, aby ryzyko posiadania podwójnej wartości skrótu dla dwóch różnych wartości nvarchar było minimalne. Na podstawie moich badań w Internecie MD5 wydaje się najlepszy. …
Przeglądając to pytanie , wydaje się, że to dużo pracy, która nie powinna być potrzebna. Próbują rozszerzyć zakres o datę. W innych bazach danych wystarczy użyć greatesti least... least(extendDate,min), greatest(extendDate,max) Kiedy próbuję ich użyć, rozumiem 'least' is not a recognized built-in function name. 'greatest' is not a recognized built-in function …
Używamy SQL Server 2012 z unikalnym identyfikatorem i zauważyliśmy, że podczas wybierania z dodatkowymi znakami dodanymi na końcu (więc nie 36 znaków) nadal zwraca dopasowanie do UUID. Na przykład: select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8' zwraca wiersz z uuid 7DA26ECB-D599-4469-91D4-F9136EC0B4E8. Ale jeśli biegniesz: select * from some_table where …
Zwykle tworzę przewodniki po planach, najpierw konstruując zapytanie, które korzysta z właściwego planu, i kopiując je do podobnego zapytania, które tego nie robi. Jest to jednak czasami trudne, szczególnie jeśli zapytanie nie jest dokładnie takie samo. Jaki jest właściwy sposób tworzenia prowadnic planu od zera? SQLKiwi wspomniał o opracowywaniu planów …
Biorąc pod uwagę tę tabelę: CREATE TABLE test ( id INT NOT NULL, description NVARCHAR(100) COLLATE Modern_Spanish_CI_AS NOT NULL ); INSERT INTO test (id, description) VALUES (1, 'CO2'); Zdałem sobie sprawę, że nie mogę rozwiązać problemu typograficznego: SELECT * FROM test WHERE id = 1; UPDATE test SET description = …
Zwykle projektuję swoje bazy danych według następujących zasad: Nikt inny niż db_owner i sysadmin nie ma dostępu do tabel bazy danych. Role użytkowników są kontrolowane na poziomie aplikacji. Zwykle używam jednej roli db, aby przyznać dostęp do widoków, procedur przechowywanych i funkcji, ale w niektórych przypadkach dodam drugą regułę, aby …
Wybacz, jestem programistą, który przeniósł się do świata SQL. Myślałem, że mogę poprawić trochę SQL, dodając zmienne, ale nie działało to tak, jak się spodziewałem. Czy ktoś może mi powiedzieć, dlaczego to nie działa? Nie chcę się obejść, chcę poznać powody, dla których to nie działa tak, jak wyobrażam sobie, …
Mam zapytanie, które działa znacznie szybciej z select top 100i znacznie wolniej bez top 100. Liczba zwróconych rekordów wynosi 0. Czy możesz wyjaśnić różnicę w planach zapytań lub udostępnić linki tam, gdzie taka różnica jest wyjaśniona? Zapytanie bez toptekstu: SELECT --TOP 100 * FROM InventTrans JOIN InventDim ON InventDim.DATAAREAID = …
W naszej aplikacji mamy siatkę, w której użytkownicy mogą przeglądać dużą liczbę rekordów (10-20 milionów). Siatka obsługuje sortowanie w porządku rosnącym i malejącym w wielu kolumnach (20+). Wiele wartości również nie jest unikalnych, więc aplikacja sortuje również według identyfikatora jako elementu rozstrzygającego, aby upewnić się, że wiersze zawsze pojawiają się …
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.