Articles of dynamic sql

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.

Perché qualcuno dovrebbe usare WHERE 1 = 1 AND in una clausola SQL?

Perché qualcuno dovrebbe usare WHERE 1=1 AND in una clausola SQL (o SQL ottenuto tramite stringhe concatenate, o definizione della vista) Ho visto da qualche parte che questo sarebbe stato usato per proteggere da SQL Injection, ma sembra molto strano. Se c’è un’iniezione WHERE 1 = 1 AND injected OR 1=1 avrebbe lo stesso risultato […]

Refactor una funzione PL / pgSQL per restituire l’output di varie query SELECT

Ho scritto una funzione che genera una query SELECT PostgreSQL ben formata in forma di testo. Ora non voglio più stampare un testo, ma effettivamente eseguire l’istruzione SELECT generata sul database e restituire il risultato, proprio come farebbe la query stessa. Quello che ho finora: CREATE OR REPLACE FUNCTION data_of(integer) RETURNS text AS $BODY$ DECLARE […]