【发布时间】:2018-08-21 05:31:28
【问题描述】:
如果这个问题如此简单,我很抱歉。我有一些可以在 MySQL 存储过程中正常运行的查询。但是现在我将它迁移到 PostgreSQL,该查询是来自另一个查询的 Concat 的结果。查询就像这样:
DECLARE
A TEXT;
BEGIN
A = concate(sql); /*in MySQL I just use SET A = CONCATE(sql)*/
PREPARE stmt AS A; /* in MySQL normally run with PREPARE stmt FROM A;*/
EXECUTE stmt;
END
但我总是得到一个错误:
ERROR: syntax error at or near "A"
LINE 85: PREPARE stmt AS A;
我的问题是:
- 如何访问变量
A使其正常运行? - 不管有没有
PREPARE,运行查询的结果有什么不同吗?如果使用PREPARE有什么好处?
感谢专家!
【问题讨论】:
-
你应该创建一个函数。参考stackoverflow.com/questions/11948131/…
标签: mysql postgresql database-migration concat