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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |