Articles of dynamic sql

PostgreSQL parametrizado por ordem / limite na function de tabela

Eu tenho uma function sql que faz uma instrução simples de seleção de SQL: CREATE OR REPLACE FUNCTION getStuff(param character varying) RETURNS SETOF stuff AS $BODY$ select * from stuff where col = $1 $BODY$ LANGUAGE sql; Por enquanto estou invocando essa function assim: select * from getStuff(‘hello’); Quais são minhas opções se eu precisar […]

nvarchar (max) ainda sendo truncado

Então estou escrevendo um procedimento armazenado no MS SQL Server 2008. É uma consulta muito longa e eu tenho que escrevê-lo dinamicamente, então eu crio uma variável chamada @Query e faço do tipo NVARCHAR(MAX) . Agora, foi- me dito que nas versões modernas do SQL Server, NVARCHAR(MAX) pode conter uma quantidade ridícula de dados, muito […]

Definir nomes de tabelas e colunas como argumentos em uma function plpgsql?

Deve ser simples, mas estou dando os primeiros passos nas funções do Postgres e não consigo encontrar nada que funcione … Eu gostaria de criar uma function que irá modificar uma tabela e / ou coluna e não consigo encontrar o caminho certo para especificar minhas tabelas e colunas como argumentos em minha function. Algo […]

Por que não posso usar variables ​​de binding em instruções DDL / SCL em SQL dynamic?

Eu estou tentando executar um comando SQL dentro de SQL dynamic com variables ​​de binding: — 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; Então, no lado do cliente, estou tentando invocar o procedimento: Test_Pkg.Set_Nls_Calendar(‘Thai […]

Obtendo o resultado do SQL dynamic em uma variável para o sql-server

Executando o SQL dynamic da seguinte maneira em Procedimento Armazenado: 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 Como eu uso o valor da coluna count (*) como valor de retorno no SP?

Truncar todas as tabelas em um database Postgres

Eu regularmente preciso excluir todos os dados do meu database PostgreSQL antes de uma reconstrução. Como eu faria isso diretamente no SQL? No momento, consegui criar uma instrução SQL que retorna todos os comandos que preciso executar: SELECT ‘TRUNCATE TABLE ‘ || tablename || ‘;’ FROM pg_tables WHERE tableowner=’MYUSER’; Mas não consigo ver uma maneira […]

INSERIR com nome da tabela dinâmica na function de gatilho

Não sei como conseguir algo como o seguinte: CREATE OR REPLACE FUNCTION fnJobQueueBEFORE() RETURNS trigger AS $$ DECLARE shadowname varchar := TG_TABLE_NAME || ‘shadow’; BEGIN INSERT INTO shadowname VALUES(OLD.*); RETURN OLD; END; $$ LANGUAGE plpgsql; Ou seja, inserindo valores em uma tabela com um nome gerado dinamicamente. A execução do código acima produz: ERROR: relation […]

Como obter o resultado sp_executesql em uma variável?

Eu tenho um pedaço de SQL dynamic que preciso executar, então preciso armazenar o resultado em uma variável. Eu sei que posso usar sp_executesql mas não consigo encontrar exemplos claros sobre como fazer isso.

No SQL Server, como eu gero uma instrução CREATE TABLE para uma determinada tabela?

Eu passei um bom tempo procurando soluções para esse problema, então, no espírito deste post , estou postando aqui, já que acho que pode ser útil para os outros. Se alguém tiver um script melhor ou qualquer coisa para adicionar, poste-o. Edit: Sim pessoal, eu sei como fazê-lo no Management Studio – mas eu precisava […]

Por que alguém usaria WHERE 1 = 1 AND em uma cláusula SQL?

Por que alguém usaria WHERE 1=1 AND em uma cláusula SQL (qualquer SQL obtida por meio de strings concatenadas, seja a definição de exibição) Eu vi em algum lugar que isso seria usado para proteger contra SQL Injection, mas parece muito estranho. Se houver injeção, WHERE 1 = 1 AND injected OR 1=1 teria o […]