Netbeans 8.1+;PostgreSQL:错误:未终止的美元引号字符串位于或接近$$
我正在尝试执行SQL以创建存储函数并收到此错误(第一个错误): 谷歌为其他工具提供了很多注释,说问题出在客户端驱动程序中,但我找不到如何在NetBeans中特别解决这个问题的提示。我的环境是:Netbeans 8.1+;PostgreSQL:错误:未终止的美元引号字符串位于或接近$$,postgresql,netbeans,netbeans-8.1,Postgresql,Netbeans,Netbeans 8.1,我正在尝试执行SQL以创建存储函数并收到此错误(第一个错误): 谷歌为其他工具提供了很多注释,说问题出在客户端驱动程序中,但我找不到如何在NetBeans中特别解决这个问题的提示。我的环境是: Netbeans 8.1 目标数据库服务器-PostgreSQL 9.5 beta 2 JDBC驱动程序(使用这两种驱动程序进行测试): 与Netbeans捆绑的一个:postgresql-9.2-1002.jdbc4.jar 从postgres站点下载的最新版本:postgresql-9.4-120
- Netbeans 8.1
- 目标数据库服务器-PostgreSQL 9.5 beta 2
- JDBC驱动程序(使用这两种驱动程序进行测试):
- 与Netbeans捆绑的一个:postgresql-9.2-1002.jdbc4.jar
- 从postgres站点下载的最新版本:postgresql-9.4-1204.jdbc42.jar
那么-要使Netbeans成功执行,必须做些什么呢?Netbeans不理解美元报价,因此将所有内容发送到第一个
代码>(位于ret_val varchar;
)到服务器-这当然是一个不完整的语句。是的,这就是其他工具所说的。有治疗网虫的方法吗?我不知道。尽管我专门使用NetBeans进行开发,但我从未使用它来处理数据库。简言之:您不能将NetBeans与美元报价函数一起使用。您需要使用标准的SQL引号(当您编写复杂的函数时,这非常烦人)NetBeans不理解美元引号,因此将所有内容发送到第一个代码>(位于ret_val varchar;
)到服务器-这当然是一个不完整的语句。是的,这就是其他工具所说的。有治疗网虫的方法吗?我不知道。尽管我专门使用NetBeans进行开发,但我从未使用它来处理数据库。简言之:您不能将NetBeans与美元报价函数一起使用。您需要使用标准的SQL引用(当您编写复杂的函数时,这真的很烦人)
Error code 0, SQL state 42601: ERROR: unterminated dollar-quoted string at or near "$$
DECLARE
ret_val varchar"
Position: 98
Line 1, column 5
CREATE OR REPLACE FUNCTION test(IN arg varchar)
RETURNS varchar
LANGUAGE plpgsql AS $$
DECLARE
ret_val varchar;
BEGIN
select concat(arg, ' result') into ret_val;
return ret_val;
END $$;
select test('aaa')