首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写查询,而不是用SQL编写6-9个不同的查询,以便用Java实现JDBC

如何编写查询,而不是用SQL编写6-9个不同的查询,以便用Java实现JDBC
EN

Stack Overflow用户
提问于 2021-01-28 13:42:35
回答 1查看 47关注 0票数 1

为了执行不同的操作,我编写了这9个查询

GET_ITEMS =“从ITEM_ID的项目顺序中选择ITEM_ID、PART_NO、DESCRIPTION、SALE_PRICE、UPDATED_BY、UPDATED_DATE”;

GET_ITEM_ID =“从项中选择ITEM_ID ";

GET_PART_NO =“从项目中选择PART_NO ITEM_ID=?";

UPDATE_PART_NO = "UPDATE ITEM SET PART_NO=?WHERE ITEM_ID= ?";

GET_SALE_PRICE =“从项目ITEM_ID=?中选择ITEM_ID=?";

UPDATE_SALE_PRICE = "UPDATE ITEM SET SALE_PRICE=?WHERE ITEM_ID=?";

GET_DESC =“从项目中选择描述ITEM_ID=?";

UPDATE_DESC = "UPDATE ITEM SET DESCRIPTION =?ITEM_ID=?";

INSERT_INTO_ITEMDUPLICATE =“替换为ITEM_DUPLICATE (item_id、part_no、sale_price、description、条形码)”选择

i.ITEM_ID,i.PART_NO,i.SALE_PRICE,i.DESCRIPTION,b.BARCODE,I加入item_barcode b ON b.ITEM_ID = i.ITEM_ID,i.ITEM_ID = ?";

在我的java程序中。但是我想把它们写成两个查询,一个查询显示来自DB的数据,另一个查询更新数据。有可能吗?我正在使用mySQL for DB在Eclipse中尝试这一点。

有谁能帮上忙吗?我正试图从两天内找到一个解决办法。

这是我的控制台输出,在这里,如果用户给出Y,那么我的数据将被更新到item_duplicate表中。为此,我还更新了item表。但我只需要在新表中执行更新,而不是在项目表中执行更新。

控制台输出:

EN

回答 1

Stack Overflow用户

发布于 2021-01-29 02:57:08

,但是我想把它们写成两个查询,一个查询显示来自DB的数据,另一个查询更新数据。有可能吗??

第一个查询将从ITEM中“显示数据”,所以这很好,是的,您可以编写另一个查询来更新数据(尽管它可能需要在java代码中构建部分,这取决于哪个字段已经更改)

(书面的,未编纂的)

代码语言:javascript
复制
string queryPrefix = "UPDATE ITEM SET ";
string querySuffix = " WHERE ITEM_ID=?";

List<String> queryUpdates = new ArrayList<String>;
List<object> queryParameters = new ArrayList<object>;

if (updatePartNumber) { 
  queryUpdates.add("PART_NO=?");
  queryParameters.add(newPartNumber);
}
if (updateSalePrice) { 
  queryUpdates.add("SALE_PRICE=?");
  queryParameters.add(newSalePrice);
}
// etc

string query = queryPrefix + String.join(",",queryUpdates) + querySuffix;
queryParameters.Add(itemId);

但是,您的最后一个查询完全是另一回事,我看不出如何将它与上面的逻辑结合起来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65938293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档