C'è un modo per generare uno script di creazione da una tabella esistente puramente in T-SQL (ovvero senza usare SMO, poiché T-SQL non ha accesso a SMO). Diciamo una procedura memorizzata che riceve un nome di tabella e restituisce una stringa che contiene lo script di creazione per la tabella …
Disclaimer: per favore, abbi pazienza con me come qualcuno che utilizza database solo una piccola parte del suo tempo di lavoro. (La maggior parte delle volte eseguo la programmazione C ++ nel mio lavoro, ma ogni mese dispari ho bisogno di cercare / correggere / aggiungere qualcosa in un database …
Ho effettuato la seguente procedura memorizzata: ALTER PROCEDURE usp_actorBirthdays (@nameString nvarchar(100), @actorgender nvarchar(100)) AS SELECT ActorDOB, ActorName FROM tblActor WHERE ActorName LIKE '%' + @nameString + '%' AND ActorGender = @actorgender Ora, ho provato a fare qualcosa del genere. Forse sto sbagliando, ma voglio essere sicuro che una tale procedura …
Dato due tabelle con un conteggio di righe indefinito con un nome e un valore, come visualizzerei un pivot CROSS JOINdi una funzione sui loro valori. 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 …
Sto scrivendo un sql dinamico da rilasciare e creare una vista in un database diverso. Quindi ho scritto: set @CreateViewStatement = ' USE ['+ @DB +']; CREATE VIEW [dbo].[MyTable] AS SELECT ........something exec (@CreateViewStatement) Mi dà errore: 'CREATE VIEW' deve essere la prima istruzione in un batch di query. Se …
Devo refactoring e documentare una serie di foo.sqldomande che saranno condivise da un team di supporto tecnico DB (per configurazioni dei clienti e cose del genere). Esistono tipi di ticket che arrivano regolarmente in cui ogni cliente ha i propri server e database, ma per il resto lo schema è …
Ho sentito dire che non vuoi usare Dynamic SQL. Puoi fare qualche esempio concreto o esempio di vita reale? Personalmente, lo codice alcune volte nel mio database. Penso che sia OK perché è flessibilità. La mia ipotesi riguarda SQL Injection o Performance. Qualunque altra cosa?
Sto riscontrando problemi nel tentativo di modificare dinamicamente il contesto di SSMS nel database specificato in SQL dinamico: EXEC sys.sp_executesql N'USE db1 ' ; Viene eseguito correttamente, tuttavia il contesto del database di SSMS non cambia. Ho provato una leggera modifica a quanto sopra in questo modo DECLARE @sql NVARCHAR(100) …
Sto guardando un'applicazione che utilizza query sql altamente dinamiche su SQL Server. Guardando le domande che sono costruite in modi molto strani e complicati, ma questa è una storia diversa, lo dico per dare una buona ragione per cui non sono in grado (troppo stupido) di scoprire le cose da …
Breve storia, stiamo lavorando con un fornitore esterno che ha un sistema di sondaggi. Il sistema non è necessariamente progettato in modo ottimale quando si crea un nuovo sondaggio e il sistema crea una nuova tabella, ovvero: Tables ____ Library_1 -- table for Survey 1 SurveyId int InstanceId int Q_1 …
Ho una tabella (non progettata da me) che ha 20 colonne con nomi variabili. Cioè, a seconda del tipo di record che stai guardando, il nome applicabile della colonna può cambiare. I possibili nomi di colonna sono memorizzati in un'altra tabella, che posso interrogare molto facilmente. Pertanto, la query che …
Sto cercando di verificare in una procedura memorizzata se esiste una tabella nel mio database di destinazione. In caso contrario, creerò la tabella utilizzando le tabelle information_schema dal database di origine. Tuttavia, quando utilizzo sp_execute per provare a riportare se la tabella esiste, ricevo l'errore La procedura prevede il parametro …
Ho usato SQL dinamico per molte attività e ho riscontrato continuamente lo stesso problema: stampare i valori delle variabili utilizzate all'interno dell'istruzione Dynamic T-SQL. PER ESEMPIO: Declare @SQL nvarchar(max), @Params nvarchar(max), @DebugMode bit, @Foobar int select @DebugMode=1,@Foobar=364556423 set @SQL='Select @Foobar' set @Params=N'@Foobar int' if @DebugMode=1 print @SQL exec sp_executeSQL @SQL,@Params …
La questione principale: le attuali procedure memorizzate sono l'unico meccanismo che implementa la memorizzazione nella cache delle tabelle temporanee o le procedure memorizzate dal sistema come sp_executeSQL/ ne sp_executesfruttano anche? Non sono un DBA, quindi per favore usa piccole parole. La nostra applicazione invia istruzioni preparate che, dal profiler, vedo …
Ho un processo che prevede l'esecuzione di vari comandi tra più database - tuttavia, quando utilizzo SQL dinamico per cambiare DB con 'use @var', non cambia effettivamente il database. Eseguendo questo in [test_db]: declare @currentDB varchar(max) declare @sql varchar(max) set @currentDB = DB_NAME() set @sql = 'use [' + @currentDB …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.