我无法理解对 pgScript 的需求,它可以使用 pgAdmin 工具执行。什么时候应该使用?plpgSQL 不能做什么?Microsoft SQL Server 中的等效项是什么?
问问题
8935 次
3 回答
10
pgScript 是一种客户端脚本语言,而 pl/PgSQL 在服务器上运行。这意味着它们有完全不同的用例。例如,PgScript 可以管理事务状态,而 pl/PgSQL 不能,但是 pl/Pgsql 可以用来扩展 SQL 的语言,而 pgScript 不能。
此外,这意味着两者将处理许多其他完全不同的事情,从查询计划到动态 SQL,而 pgScript 需要查询之间的往返,而 pl/Pgsql 不需要。
于 2013-05-16T07:35:36.450 回答
2
pgScript 的一种用途是定义变量并稍后在 SQL 中使用它们。
例如,您可以执行以下操作:
declare @mytbl, @maxid;
set @mytbl = 'sometable';
set @maxid = 2500;
set @res = select count(*) from @mytbl where id <= @maxid;
print @res;
这种方法是在脚本顶部只包含您想要更改的任何变量,而不是那些深埋在复杂 SQL 查询中的变量。
当然,pgScript 是仅在 PgAdmin III 客户端中可用的功能,例如他的评论中提到的@{Craig Ringer}。
于 2016-11-03T19:34:16.340 回答
-1
我使用了 Toad Data Modeler 的 DDL 脚本生成器。
我在 PgAdmin-III 中使用普通查询执行运行脚本,但它一直给我错误:
"ERROR: relationship "user" already exists SQL state: 42P07"。
我在PgAdmin-III中运行了 Execute pgScript ,它运行良好。
于 2013-11-20T03:18:27.190 回答