Articles of dynamic sql

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 […]

Refatore uma function PL / pgSQL para retornar a saída de várias consultas SELECT

Eu escrevi uma function que gera uma consulta SELECT PostgreSQL bem formada em forma de texto. Agora eu não quero mais dar saída a um texto, mas, na verdade, executo a SELECT gerada contra o database e retorno o resultado – exatamente como a consulta em si. O que eu tenho até agora: CREATE OR […]

Nome da tabela como um parâmetro de function do PostgreSQL

Eu quero passar um nome de tabela como um parâmetro em uma function do Postgres. Eu tentei este código: CREATE OR REPLACE FUNCTION some_f(param character varying) RETURNS integer AS $$ BEGIN IF EXISTS (select * from quote_ident($1) where quote_ident($1).id=1) THEN return 1; END IF; return 0; END; $$ LANGUAGE plpgsql; select some_f(‘table_name’); E eu tenho […]