Java 在preparedstatement中调用参数化函数
我试图使用jdbc preparedstatement将数据插入sql server 2008数据库。我遇到的困难是,我有可能更改的时间点ID,我需要根据insert的其他元素查找常量ID。我已经编写了一个存储函数来执行查找,myIDLookup(x,y) 我试着这样写一份准备好的声明:Java 在preparedstatement中调用参数化函数,java,jdbc,prepared-statement,Java,Jdbc,Prepared Statement,我试图使用jdbc preparedstatement将数据插入sql server 2008数据库。我遇到的困难是,我有可能更改的时间点ID,我需要根据insert的其他元素查找常量ID。我已经编写了一个存储函数来执行查找,myIDLookup(x,y) 我试着这样写一份准备好的声明: INSERT INTO myTable (id,idElement1,idElement2,otherItem) VALUES (myIDLookup(?,?),?,?,?) 我看到过成功使用内置函数(如n
INSERT INTO myTable (id,idElement1,idElement2,otherItem)
VALUES (myIDLookup(?,?),?,?,?)
我看到过成功使用内置函数(如now())的示例,但没有看到在preparedstatement中使用参数化函数的任何内容。这可能吗
谢谢我认为正确的方法是编写一个存储过程来插入行,该行接受x和y,并通过调用myIDLookup ad生成id,然后再插入该行。模板可能类似于:
stored proc insertRow (x, y, z)
{
id = myIDLookup(x , y)
insert into table values (id, x , y, z)
}
您是否尝试创建和调用这样的PreparedStation?是的,它似乎没有在函数调用中看到这两个参数。所以它丢弃了我所有其他参数的索引,导致了一些解析错误。据我所知,这应该是可行的。你有什么错误?