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

ruby – 准备好的陈述已经存在

发布时间:2020-12-17 03:47:22 所属栏目:百科 来源:网络整理
导读:我试图在 ruby中使用pg gem中的预处理语句.这就是我的陈述的样子 conn.prepare("insert_values","insert into " + objectName + "(" + headerStr + ") values (" + prep_values + ")") conn.exec_prepared("insert_values",arr) 我一直在收到错误 准备好的语
我试图在 ruby中使用pg gem中的预处理语句.这就是我的陈述的样子

conn.prepare("insert_values","insert into " + objectName + "(" + headerStr + ") values (" + prep_values + ")")  
conn.exec_prepared("insert_values",arr)

我一直在收到错误

准备好的语句insert_values已经存在.

我该如何解决??谢谢

解决方法

尝试运行:

conn.exec("DEALLOCATE name_of_prepared_statement")

在你的例子中:

conn.exec("DEALLOCATE insert_values")

简单的测试,它在我的irb工作:

1.8.7 :001 > require 'rubygems'
  => true
1.8.7 :002 > require 'pg'
  => true
1.8.7 :003 > conn = PGconn.connect(:host => 'localhost',:port => 5912,:user => 'test',:dbname => 'test' )
  => #<PGconn:0x7fe6ac703970> 
1.8.7 :005 > conn.prepare("insert_values","select * from data where id < $1")
  => #<PGresult:0x7fe6ac6b2e58> 
1.8.7 :006 > conn.prepare("insert_values","select * from data where id < $1 and id >   $2")
  PGError: ERROR:  prepared statement "insert_values" already exists

  from (irb):6:in 'prepare'
  from (irb):6
1.8.7 :007 > conn.prepare("insert_values","select * from data where id < $1")
  PGError: ERROR:  prepared statement "insert_values" already exists

  from (irb):7:in 'prepare'
  from (irb):7
1.8.7 :008 > conn.exec("DEALLOCATE insert_values")
  => #<PGresult:0x7fe6ac6738c0> 
1.8.7 :009 > conn.prepare("insert_values","select * from data where id < $1")
  => #<PGresult:0x7fe6ac665fe0> 
1.8.7 :010 > conn.exec_prepared("insert_values",[200])
  => #<PGresult:0x7fe6ac65d188> 
1.8.7 :011 > conn.exec("DEALLOCATE insert_values")
  => #<PGresult:0x7fe6ac654df8> 
1.8.7 :012 > conn.exec_prepared("insert_values",[200])
  PGError: ERROR:  prepared statement "insert_values" does not exist

  from (irb):12:in 'exec_prepared'
  from (irb):12

(编辑:李大同)

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

    推荐文章
      热点阅读