在preparedstatement中调用参数化函数

时间:2012-06-04 17:25:13

标签: java jdbc prepared-statement

我正在尝试使用jdbc preparedstatement将数据插入到sql server 2008数据库中。我遇到的困难是我有可能发生变化的时间点ID,我需要根据插入的其他元素查找常量ID。我编写了一个存储函数来执行查找,myIDLookup(x,y)。

我尝试写这样的预备陈述:

INSERT INTO myTable (id,idElement1,idElement2,otherItem) 
VALUES (myIDLookup(?,?),?,?,?)

我已经看到使用内置函数(例如now())成功的示例,但是在预备语句中没有看到任何关于使用参数化函数的内容。这可能吗?

由于

1 个答案:

答案 0 :(得分:3)

我认为正确的做法是编写一个存储过程来插入带有x和y的行,并通过调用myIDLookup广告生成id,然后插入行。模板可能如下所示:

stored proc insertRow (x, y, z)
{
   id = myIDLookup(x , y)
   insert into table values (id, x , y, z)
}