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 statementfuente
:como con otras variables. @ achilles-ram-nakirekanti, ¿podría agregar un ejemplo usando esto en unaselectdeclaración para aclararlo ?Puedes usar:
Que hará
fuente
psqlconsola. No podrá escribir esto en el SQL de su aplicación.postgresqly 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
\setpara 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í
salestá el valor que está presente en la tabla 'emp' ycommes 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