Por exemplo, no MS-SQL, você pode abrir uma janela de consulta e executar o seguinte:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
Como isso é feito no PostgreSQL? Isso pode ser feito?
Por exemplo, no MS-SQL, você pode abrir uma janela de consulta e executar o seguinte:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
Como isso é feito no PostgreSQL? Isso pode ser feito?
Respostas:
A resposta completa está localizada na documentação oficial do PostgreSQL .
Você pode usar o novo recurso de bloqueio de código anônimo PG9.0 ( http://www.postgresql.org/docs/9.1/static/sql-do.html )
Além disso, você pode obter o último id de inserção :
fonte
;
depoisEND $$
, assim:.END $$;
)ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use PERFORM instead. CONTEXT: PL/pgSQL function inline_code_block line 7 at SQL statement
fonte
:
como com outras variáveis. @ achilles-ram-nakirekanti você poderia adicionar um exemplo usando isso em umaselect
declaração para tornar isso mais claro?Você pode usar:
Que vai fazer
fonte
psql
console. Você não poderá escrever isso no SQL do seu aplicativo.postgresql
e é a alternativa menos-pior. geralmentepostgresql
Aqui está um exemplo de uso de uma variável em plpgsql:
Dê uma olhada na documentação do plpgsql para mais informações.
fonte
Eu encontrei alguns outros documentos que eles usam
\set
para declarar a variável de script, mas o valor parece ser como um valor constante e estou descobrindo uma maneira que pode atuar como uma variável, não uma variável constante.Ex:
Aqui
sal
está o valor que está presente na tabela 'emp' ecomm
é o valor constante.fonte
Eu tive que fazer algo assim
fonte
Postgresql não tem variáveis nuas, você pode usar uma tabela temporária. as variáveis estão disponíveis apenas em blocos de código ou como um recurso de interface do usuário.
Se você precisar de uma variável simples, poderá usar uma tabela temporária:
fonte
Com base na resposta de @ nad2000 e na resposta de @Pavel aqui , foi aqui que acabei meus scripts de migração do Flyway. Tratamento de cenários em que o esquema do banco de dados foi modificado manualmente.
fonte
Para o cliente CLI oficial "psql", consulte aqui . E o "pgAdmin3" 1.10 (ainda em beta) tem o " pgScript ".
fonte
Para usar variáveis em, por exemplo, alter table:
fonte