我正在尝试使用jdbc preparedstatement将数据插入到sql server 2008数据库中。我遇到的困难是我有可能发生变化的时间点ID,我需要根据插入的其他元素查找常量ID。我编写了一个存储函数来执行查找,myIDLookup(x,y)。
我尝试写这样的预备陈述:
INSERT INTO myTable (id,idElement1,idElement2,otherItem)
VALUES (myIDLookup(?,?),?,?,?)
我已经看到使用内置函数(例如now())成功的示例,但是在预备语句中没有看到任何关于使用参数化函数的内容。这可能吗?
由于
答案 0 :(得分:3)
我认为正确的做法是编写一个存储过程来插入带有x和y的行,并通过调用myIDLookup广告生成id,然后插入行。模板可能如下所示:
stored proc insertRow (x, y, z)
{
id = myIDLookup(x , y)
insert into table values (id, x , y, z)
}