Articles of dynamic sql

Esegui una query incrociata dynamic

Ho implementato questa funzione nel mio database Postgres: http://www.cureffi.org/2013/03/19/automatically-creating-pivot-table-column-names-in-postgresql/ Ecco la funzione: create or replace function xtab (tablename varchar, rowc varchar, colc varchar, cellc varchar, celldatatype varchar) returns varchar language plpgsql as $$ declare dynsql1 varchar; dynsql2 varchar; columnlist varchar; begin — 1. retrieve list of column names. dynsql1 = ‘select string_agg(distinct ‘||colc||’||” ‘||celldatatype||”’,”,” order […]

Genera l’istruzione di eliminazione dalle relazioni di chiave esterna in SQL 2008?

È ansible tramite script / strumento generare un’istruzione delete in base alle relazioni fk delle tabelle. cioè ho la tabella: DelMe (ID) e ci sono 30 tabelle con riferimenti fk al suo ID che devo cancellare prima, c’è qualche strumento / script che posso eseguire che genererà le 30 istruzioni di eliminazione basate sulle relazioni […]

PostgreSQL ha parametrizzato Order By / Limit nella funzione table

Ho una funzione sql che fa una semplice istruzione di selezione sql: CREATE OR REPLACE FUNCTION getStuff(param character varying) RETURNS SETOF stuff AS $BODY$ select * from stuff where col = $1 $BODY$ LANGUAGE sql; Per ora sto invocando questa funzione in questo modo: select * from getStuff(‘hello’); Quali sono le mie opzioni se devo […]

Perché non posso utilizzare le variabili di binding nelle istruzioni DDL / SCL in SQL dinamico?

Sto cercando di eseguire un comando SQL all’interno di SQL dinamico con variabili di bind: — this procedure is a part of PL/SQL package Test_Pkg PROCEDURE Set_Nls_Calendar(calendar_ IN VARCHAR2) IS BEGIN EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_CALENDAR = :cal’ USING IN calendar_; END Set_Nls_Calendar; Quindi sul lato client, sto cercando di richiamare la procedura: Test_Pkg.Set_Nls_Calendar(‘Thai […]

Definisci i nomi di tabelle e colonne come argomenti in una funzione plpgsql?

Deve essere semplice, ma sto facendo i miei primi passi nelle funzioni di Postgres e non riesco a trovare nulla che funzioni … Mi piacerebbe creare una funzione che modifichi una tabella e / o una colonna e non riesco a trovare il modo giusto di specificare le mie tabelle e colonne come argomenti nella […]

nvarchar (max) ancora troncato

Quindi sto scrivendo una procedura memorizzata in MS SQL Server 2008. È una query molto lunga e devo scriverla dynamicmente, quindi creo una variabile chiamata @Query e la @Query di tipo NVARCHAR(MAX) . Ora, mi è stato detto che nelle versioni moderne di SQL Server, NVARCHAR(MAX) può contenere una quantità ridicola di dati, molto più […]

Come utilizzare la variabile di tabella in un’istruzione SQL dynamic?

Nella mia stored procedure ho dichiarato due variabili di tabella in cima alla mia procedura. Ora sto cercando di usare quella variabile di tabella all’interno di un’istruzione SQL dynamic ma ottengo questo errore al momento dell’esecuzione di quella procedura. Sto usando SQL Server 2008. Ecco come appare la mia query, set @col_name = ‘Assoc_Item_’ + […]

Troncamento di tutte le tabelle in un database Postgres

Ho regolarmente bisogno di cancellare tutti i dati dal mio database PostgreSQL prima di una ricostruzione. Come lo farei direttamente in SQL? Al momento sono riuscito a creare una dichiarazione SQL che restituisce tutti i comandi che devo eseguire: SELECT ‘TRUNCATE TABLE ‘ || tablename || ‘;’ FROM pg_tables WHERE tableowner=’MYUSER’; Ma non riesco a […]

Ottenere il risultato di SQL dinamico in una variabile per sql-server

Esecuzione di SQL dinamico come segue in Stored procedure: DECLARE @sqlCommand nvarchar(1000) DECLARE @city varchar(75) SET @city = ‘London’ SET @sqlCommand = ‘SELECT COUNT(*) FROM customers WHERE City = @city’ EXECUTE sp_executesql @sqlCommand, N’@city nvarchar(75)’, @city = @city Come si usa il valore della colonna count (*) come valore di ritorno nell’SP?

Come ottenere il risultato sp_executesql in una variabile?

Ho un pezzo di SQL dinamico che devo eseguire, quindi ho bisogno di memorizzare il risultato in una variabile. So che posso usare sp_executesql ma non riesco a trovare esempi chiari su come farlo.