相关疑难解决方法(0)

如何在PostgreSQL查询中声明变量

如何声明变量以用于PostgreSQL 8.3查询?

在MS SQL Server中,我可以这样做:

DECLARE @myvar INT
SET @myvar = 5

SELECT *
FROM somewhere
WHERE something = @myvar
Run Code Online (Sandbox Code Playgroud)

我如何在PostgreSQL中做同样的事情?根据文档变量被简单地声明为"名称类型;",但这给了我一个语法错误:

myvar INTEGER;
Run Code Online (Sandbox Code Playgroud)

有人能给我一个正确语法的例子吗?

sql postgresql postgresql-8.3

205
推荐指数
13
解决办法
31万
查看次数

将参数传递给psql.exe

我想从应用程序启动psql.exe.用户找到脚本,因此它可以在他的磁盘上的任何位置,并且应用程序只是将该脚本提供给psql.就是这样.

什么是正确的命令行?

我试过这个没有成功

"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql"
Run Code Online (Sandbox Code Playgroud)

我尝试使用引号,没有引号,没有工作,只是忽略了参数(在cmd.exe上试过)

C:\Documents and Settings\Administrateur>"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.
sql"
psql: warning: extra command-line argument "-f" ignored
psql: warning: extra command-line argument "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql" ignored
Password for user SYSADM:
Run Code Online (Sandbox Code Playgroud)

是的,如果脚本与psql.exe位于同一目录中,并且如果我首先将CD安装到安装psql.exe的位置,则表示没有引号,没有绝对路径,并且它可以正常工作.但是,在我的情况下,我希望应用程序可以在任何Windows安装上工作,这意味着psql.exe可以在任何地方,sql脚本也可以在任何地方.我仍然希望将脚本提供给psql.exe.

windows postgresql

8
推荐指数
1
解决办法
5753
查看次数

标签 统计

postgresql ×2

postgresql-8.3 ×1

sql ×1

windows ×1