当前位置: 首页 > 知识库问答 >
问题:

PostgreSQL、Perl、DBD和带有“to_timestamp”的Insert命令

沃楷
2023-03-14

我正在编写一个脚本,它查询一些设备并将数据写入PostgreSQL数据库。

$date_db = 'TO_TIMESTAMP(\'' . $date_db . '\',\'DD.MM.YYYY HH24:MI:SS\')::timestamp without time zone';
$stmt = $dbh->prepare("INSERT INTO rifutemp (\"USER_LINK_ID\", \"IP\", \"DATUM\", \"TEMPERATURE\") VALUES (?, ?, ?, ?)");
$stmt->execute($key_bgtr, $key_ip, $date_db, $temperatur) or die $DBI::errstr;

共有1个答案

蔺德曜
2023-03-14

函数可以(也必须)是准备好的语句的一部分。

按照以下方式重写代码:

$stmt =$dbh->prepare(q{
INSERT INTO rifutemp ("USER_LINK_ID","IP","DATUM","TEMPERATURE")        
        VALUES (?, ?, 
        TO_TIMESTAMP(?, 'DD.MM.YYYY HH24:MI:SS')::timestamp without time zone,
        ?)
});

$stmt->execute($key_bgtr,$key_ip,$date_db,$temperatur) or die $DBI::errstr;
 类似资料:
  • 问题内容: 有一种简单的方法可以将hibernate设置为对每个带有postgres的表使用不同的主键ID。我试图在数据源中使用postgres方言: 但这是行不通的。谢谢 问题答案: 简短的答案是没有,没有 简单的 方法可以做到这一点。但是,我找到了一种有效的解决方案。基本上,您需要实现自定义方言。这是一个实现(请在注释中注明实现的原始来源)。 上述实施应当存储为下你的Grails项目中。 接下

  • PostgreSQL INSERT INTO 语句用于向表中插入新记录。 我们可以插入一行也可以同时插入多行。 语法 INSERT INTO 语句语法格式如下: column1, column2,...columnN 为表中字段名。 value1, value2, value3,...valueN 为字段对应的值。 在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应

  • 问题内容: 我在PostgreSQL数据库中创建了一个函数,希望使用JPA 2.1的StoredProcedureQuery方法调用该函数。 这是我的PostgreSQL查询: 这只是一个简单的查询,可以计算特定日期的用户。这只是一个演示查询,用于测试StoredProcedureQueries的工作方式。实际上,当仅通过postgreSQL使用时,它就可以正常工作。 现在,让我们尝试使用JPA

  • 我在设置docker映像时遇到了一些问题,该映像最终将用于bitbucket管道,以便为我从事的一些API项目运行测试。 我们本地开发人员的设置非常简单,在机器上运行Java 8 Maven PostgreSQL 9.6。 要运行集成测试,必须运行数据库。maven构建的一部分在服务器上创建必要的数据库和表。 我试图在docker映像上复制它,这是我到目前为止所拥有的。 如果我通过first ru

  • 我想用Perl做一个SOAP请求,我想发送原始的XML数据,比如 我使用的SOAP::Lite如下所示: 但当我检查SOAP主体时,我的xml被解析,如下所示: 等等。 WSDL文件: 我怎样才能改变这一点? 事先非常感谢。 克里斯

  • 问题内容: 我使用Vlad Mihalcea的库来将SQL数组(在我的情况下为Postgresql)映射到JPA。然后,假设我有一个实体,例如。 适当的SQL是: 使用QueryDSL,我想获取包含所有给定标签的行。原始SQL可能是: (摘自:https : //www.postgresql.org/docs/9.1/static/functions- array.html ) 可以用QueryD