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ę, …
Oświadczenie: Proszę o wyrozumiałość jako kogoś, kto korzysta z baz danych tylko przez ułamek swojego czasu pracy. (Przez większość czasu programuję w C ++ w swojej pracy, ale co nieparzysty miesiąc muszę wyszukiwać / naprawiać / dodawać coś do bazy danych Oracle.) Wielokrotnie potrzebowałem pisać złożone zapytania SQL, zarówno dla …
Wykonałem następującą procedurę przechowywaną: ALTER PROCEDURE usp_actorBirthdays (@nameString nvarchar(100), @actorgender nvarchar(100)) AS SELECT ActorDOB, ActorName FROM tblActor WHERE ActorName LIKE '%' + @nameString + '%' AND ActorGender = @actorgender Teraz próbowałem zrobić coś takiego. Może robię to źle, ale chcę mieć pewność, że taka procedura może zapobiec iniekcji SQL: EXEC …
Biorąc pod uwagę dwie tabele z nieokreśloną liczbą wierszy z nazwą i wartością, w jaki sposób wyświetlać funkcję obrotową CROSS JOINfunkcji nad ich wartościami. CREATE TEMP TABLE foo AS SELECT x::text AS name, x::int FROM generate_series(1,10) AS t(x); CREATE TEMP TABLE bar AS SELECT x::text AS name, x::int FROM generate_series(1,5) …
Piszę dynamiczny SQL, aby upuścić i utworzyć widok w innej bazie danych. Więc napisałem: set @CreateViewStatement = ' USE ['+ @DB +']; CREATE VIEW [dbo].[MyTable] AS SELECT ........something exec (@CreateViewStatement) Daje mi błąd: „UTWÓRZ WIDOK” musi być pierwszą instrukcją w partii zapytania. Jeśli usunę instrukcję USE DATABASE, będzie działać poprawnie, …
Muszę przeformułować i udokumentować szereg foo.sqlzapytań, które będą udostępniane przez zespół wsparcia technicznego DB (w przypadku konfiguracji klienta i tym podobnych). Istnieją rodzaje biletów, które przychodzą regularnie, gdy każdy klient ma własne serwery i bazy danych, ale poza tym schemat jest taki sam we wszystkich obszarach. Procedury przechowywane nie są …
Słyszałem, że jeden powiedział, że nie chcesz używać dynamicznego SQL. Czy możesz podać konkretny przykład lub przykład z życia? Osobiście koduję go kilka razy w mojej bazie danych. Myślę, że jest OK, ponieważ jest elastyczny. Domyślam się, że chodzi o SQL Injection lub Performance. Coś jeszcze?
Mam problem z próbą dynamicznej zmiany kontekstu SSMS na bazę danych określoną w dynamicznym SQL: EXEC sys.sp_executesql N'USE db1 ' ; Wykonuje się pomyślnie, jednak kontekst bazy danych SSMS nie zmienia się. Próbowałem niewielkiej modyfikacji powyższego DECLARE @sql NVARCHAR(100) DECLARE @db NVARCHAR(50) SET @db = N'db1' SET @sql = N'Use …
Patrzę na aplikację, która korzysta z bardzo dynamicznych zapytań SQL przeciwko SQL Server. Patrząc na zapytania, które są konstruowane w bardzo dziwny i skomplikowany sposób, ale to inna historia, mówię to, aby podać dobry powód, dla którego nie jestem w stanie (zbyt głupio) samemu się dowiedzieć ... Nie widzę dowolny …
Krótka historia, współpracujemy z zewnętrznym dostawcą, który ma system ankiet. System niekoniecznie jest zaprojektowany najlepiej, gdy tworzysz nową ankietę, a system tworzy nową tabelę, tj .: Tables ____ Library_1 -- table for Survey 1 SurveyId int InstanceId int Q_1 varchar(50) Library_2 -- table for Survey 2 SurveyId int InstanceId int …
Mam tabelę (nie zaprojektowaną przeze mnie), która ma 20 kolumn o różnych nazwach. Oznacza to, że w zależności od rodzaju rekordu, którego szukasz, odpowiednia nazwa kolumny może ulec zmianie. Możliwe nazwy kolumn są przechowywane w innej tabeli, którą mogę bardzo łatwo wyszukać. Dlatego zapytanie, którego tak naprawdę szukam, wygląda mniej …
Próbuję sprawdzić w procedurze przechowywanej, czy tabela istnieje w mojej docelowej bazie danych. Jeśli tak się nie stanie, utworzę tabelę przy użyciu tabel Information_schema ze źródłowej bazy danych. Jednak gdy używam sp_execute, aby spróbować przywrócić, jeśli tabela istnieje, pojawia się błąd Procedura oczekuje parametru „@handle” typu „int”. Nie używam parametru …
Najważniejsze pytanie: czy faktyczne procedury składowane są jedynym mechanizmem, który implementuje buforowanie tabeli temp, czy też systemowe procedury składowane, takie jak sp_executeSQL/, sp_executerównież z nich korzystają? Nie jestem DBA, więc proszę, użyj słów. Nasza aplikacja wysyła przygotowane instrukcje, które z profilera widzę, że uruchamiam wszystkie SQL, przez sp_prepexecktóre jest to …
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.