出于某种原因,我试图从我刚刚插入的字段获取数据。并且要清楚:不,我不想要一种方法来获得“插入ID”。SQL Server:如何从JAVA插入获得“OUTPUT”?
例如,我有一个表命名为“成员”,而我做的插入这样的:
INSERT INTO Members (ID, NAME, PHONE, BIRTH, CREATE_DATE) OUTPUT Members.CREATE_DATE VALUES (NEXT VALUE FOR SeqID, ?, ?, ?, getdate());
这个SQL做工不错,给我说,我想在SQL CREATE_DATE
管理。
但我的问题是:如何获得这个CREATE_DATE
使用JAVA的prepared语句?
我试图让在使用的ResultSet,它告诉我:“声明没有返回ResultSet中”
con = ds.getConnection();
pstmt = con.prepareCall(INSERT);
pstmt.setString(1, name);
pstmt.setString(2, phone);
pstmt.setString(3, birth);
ResultSet rs = pstmt.executeQuery();
if(rs.next()) System.out.println(rs.getString("CREATE_DATE"));
而且registeroutparameter
不看的权利也因为它是“CREATE_DATE”,而不是“ ?”。有什么方法可以从OUTPUT获取我的数据吗?
insert操作将数据添加到db并返回状态。如果您想要CREATE_DATE,则需要通过传递必需的参数来编写另一个SELECT查询以获取CREATE_DATE。 – kosa