ABAP SQL 中的 Modify 使用
記得先前寫新增修改記錄時,採用先Update,然後判斷Sy-subrc是否為零,為零則Update成功,否則再用一句Insert的語句把新增的記錄插入表。
這個寫法被人家笑死了。 “不會用Modify 嗎?”
新語言新特性!所以,不管以前做過什麼,遇到新的東西,也有必要好好去看文件。
那麼這麼好用的Modify是如何用的呢?
其實很簡單,Modify會根據你提供的Workarea中的欄位對應Table的欄位,通過匹配Primary Key 值來操作,記住這個Primary Key是Table的而不是Workarea或內表中的非數值欄位。
MODIFY dbtab - source
Syntax
... FROM { {wa} | {TABLE itab} }.
這條語句會先判斷是否存在相同的Primary Key值,有的話會採用Update,這裡要注意一下,wa或內表和DB Table的結構是一樣的,如果你只是更新其中的某個欄位,請不要使用這個語句,否則它會wa中的空值欄位更新到資料庫中,要不你必須把所有的欄位先按照原來的值填充進來。
如果沒有相同的Primary Key則會產生一條Insert的語句.
總結如下:
1. 適合整條記錄更新或新增
2. 無法按照非Primary Key值作為條件去更新某條記錄
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-531620/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫中modify和change的區別資料庫
- ABAP 動態 SQLSQL
- 【SQL】SQL中if條件的使用SQL
- SAP ABAP SQL的execution plan和cacheSQL
- SQL中Group By的使用SQL
- SQL中EXISTS的使用SQL
- SQL Server中,WITH AS的使用SQLServer
- ABAP訪問外部SQL (轉)SQL
- ABAP 740新的OPEN SQL增強特性SQL
- sql 中的with 語句使用SQL
- SQL中的CASE WHEN使用SQL
- sql中的*的使用注意點SQL
- 使用ABAP批量下載有道雲筆記中的圖片筆記
- 使用 ABAP Open SQL 的 Select AS 別名,提高程式碼可讀性SQL
- ABAP 中的表型別及作用型別
- SQL Server MDX中軸的使用SQLServer
- mysql alter modify 和 change的區別MySql
- SQL中copy命令使用SQL
- 使用SAP Transaction Launcher將ABAP Webdynpro嵌入到WebClient UI中WebclientUI
- ORACLE中SQL TRACE和TKPROF的使用OracleSQL
- 【SQL Server中SMO的簡單使用】SQLServer
- 使用ABAP操作Excel的幾種方法Excel
- 如何使用 ABAP 程式消費 SAP ABAP OData 服務
- PL/SQL開發中動態SQL的使用方法SQL
- 使用CASE表示式替代SQL Server中的動態SQLSQLServer
- ABAP OPEN SQL裡OPEN CURSOR和SELECT的比較SQL
- How to modify multiple items in the SAP menu
- 理解和使用SQL Server中的並行SQLServer並行
- SQL中的替換函式replace()使用SQL函式
- SQL-Server中datepart函式的使用SQLServer函式
- Sql中SYSDATE函式的使用方法SQL函式
- sql中limit使用方法SQLMIT
- SAP ABAP Application Log 的使用方法APP
- 使用Excel呼叫ABAP系統的函式Excel函式
- abap submit 的使用方法 不同情況MIT
- ABAP 通過SQL修改某個程式的鎖定狀態SQL
- sql中in和exists的原理及使用場景。SQL
- SQL中DATEADD和DATEDIFF的使用方法SQL