Execute?
“Execute”是JAVA語言的一種,作用是執行動態的SQL語句或非運行時創建的PL/SQL塊,動態創建和執行SQL語句。 Execute語句的方法: 方法executeQuery 用于產生單個結果集的語句,例如 SELECT 語句。
被使用最多的執行 SQL 語句的方法是 executeQuery。
這個方法被用來執行 SELECT 語句,它幾乎是使用最多的 SQL 語句。
方法executeUpdate 用于執行 INSERT、UPDATE 或 DELETE 語句以及 SQL DDL(數據定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。
INSERT、UPDATE 或 DELETE 語句的效果是修改表中零行或多行中的一列或多列。
executeUpdate 的返回值是一個整數,指示受影響的行數(即更新計數)。
對于 CREATE TABLE 或 DROP TABLE 等不操作行的語句,executeUpdate 的返回值總為零。 使用executeUpdate方法是因為在createTableCoffees 中的 SQL 語句是 DDL (數據定義語言)語句。創建表,改變表,刪除表都是 DDL 語句的例子,要用 executeUpdate 方法來執行。
你也可以從它的名字里看出,方法 executeUpdate 也被用于執行更新表 SQL 語句。
實際上,相對于創建表來說,executeUpdate 用于更新表的時間更多,因為表只需要創建一次,但經常被更新。 方法execute: 用于執行返回多個結果集、多個更新計數或二者組合的語句。因為多數程序員不會需要該高級功能。execute方法應該僅在語句能返回多個ResultSet對象、多個更新計數或ResultSet對象與更新計數的組合時使用。
當執行某個已存儲過程 或動態執行未知 SQL 字符串(即應用程序程序員在編譯時未知)時,有可能出現多個結果的情況,盡管這種情況很少見。
因為方法 execute 處理非常規情況,所以獲取其結果需要一些特殊處理并不足為怪。
例如,假定已知某個過程返回兩個結果集,則在使用方法 execute 執行該過程后,必須調用方法 getResultSet 獲得第一個結果集,然后調用適當的 getXXX 方法獲取其中的值。
要獲得第二個結果集,需要先調用 getMoreResults 方法,然后再調用 getResultSet 方法。
如果已知某個過程返回兩個更新計數,則首先調用方法 getUpdateCount,然后調用 getMoreResults,并再次調用 getUpdateCount。
對于不知道返回內容,則情況更為復雜。
如果結果是 ResultSet 對象,則方法 execute 返回 true;如果結果是 Java int,則返回 false。如果返回 int,則意味著結果是更新計數或執行的語句是 DDL 命令。在調用方法 execute 之后要做的第一件事情是調用 getResultSet 或 getUpdateCount。
調用方法 getResultSet 可以獲得兩個或多個 ResultSet 對象中第一個對象;或調用方法 getUpdateCount 可以獲得兩個或多個更新計數中第一個更新計數的內容。 豆瓣:https://www.douban.com