Por ejemplo, en MS-SQL, puede abrir una ventana de consulta y ejecutar lo siguiente:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
¿Cómo se hace esto en PostgreSQL? Se puede hacer?
Por ejemplo, en MS-SQL, puede abrir una ventana de consulta y ejecutar lo siguiente:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
¿Cómo se hace esto en PostgreSQL? Se puede hacer?
Respuestas:
La respuesta completa se encuentra en la documentación oficial de PostgreSQL .
Puede utilizar la nueva función de bloqueo de código anónimo PG9.0 ( http://www.postgresql.org/docs/9.1/static/sql-do.html )
También puede obtener la última identificación de inserción :
fuente
;
despuésEND $$
, así:.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
fuente
:
como con otras variables. @ achilles-ram-nakirekanti, ¿podría agregar un ejemplo usando esto en unaselect
declaración para aclararlo ?Puedes usar:
Que hará
fuente
psql
consola. No podrá escribir esto en el SQL de su aplicación.postgresql
y es la peor alternativa. en general, estoy bastante satisfecho conpostgresql
: pero este es un fracaso sorprendentemente grandeAquí hay un ejemplo del uso de una variable en plpgsql:
Eche un vistazo a los documentos plpgsql para obtener más información.
fuente
Me encontré con algunos otros documentos que usan
\set
para declarar la variable de secuencia de comandos, pero el valor parece ser un valor constante y estoy encontrando una forma en que puede actuar como una variable, no como una variable constante.Ex:
Aquí
sal
está el valor que está presente en la tabla 'emp' ycomm
es el valor constante.fuente
Tuve que hacer algo como esto
fuente
Postgresql no tiene variables desnudas, podría usar una tabla temporal. las variables solo están disponibles en bloques de código o como una función de interfaz de usuario.
Si necesita una variable simple, puede usar una tabla temporal:
fuente
Sobre la base de la respuesta de @ nad2000 y la respuesta de @ Pavel aquí , aquí es donde terminé para mis scripts de migración de Flyway. Manejo de escenarios donde el esquema de la base de datos se modificó manualmente.
fuente
Para el cliente CLI oficial "psql", consulte aquí . Y "pgAdmin3" 1.10 (todavía en beta) tiene " pgScript ".
fuente
Para usar variables en, por ejemplo, alter table:
fuente