加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于“invalid input syntax for type boolean”

发布时间:2020-12-13 17:30:31 所属栏目:百科 来源:网络整理
导读:postgresQL 中,编写存储过程时,通过execute执行sql语句。可是有些情况下,比如update,不需要获取sql执行的结果,如果这时使用“execute”执行sql,就会报错“invalid input syntax for type boolean”。这时,应该使用“perform”执行不需要获得返回值的s

postgresQL 中,编写存储过程时,通过execute执行sql语句。可是有些情况下,比如update,不需要获取sql执行的结果,如果这时使用“execute”执行sql,就会报错“invalid input syntax for type boolean”。这时,应该使用“perform”执行不需要获得返回值的sql。

当然,还有一种可能,如果定义了一个可以重定义的cursor,而打开这个cursor时使用了一个字符串作为sql,此时,遍历cursor的时候,不能再对这个sql进行赋值操作,否则也会报这个错误。

例如:

sql:='selectgid,tile_x,tile_y,the_geomfrom'||tbl;
	OPENcurFORexecutesql;
	WHILErow_num>0LOOP
		FETCHcurINTOgid,the_geom;
		geom_text:=GEOM2PIX(tile_x,the_geom);
		sql:='UPDATE'||tbl||'SETgeom_text='''||geom_text||'''wheregid='||gid;
		executesql;--这时就会报错
		row_num:=row_num-1;
	ENDLOOP;
改成:
sql:='selectgid,the_geom);
		sql_text:='UPDATE'||tbl||'SETgeom_text='''||geom_text||'''wheregid='||gid;
		executesql_text;--没问题
		row_num:=row_num-1;
	ENDLOOP;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读