ABAP数据表的操作

这几天对于数据标的操作表较多,自己从网上找资料和自己动手操作总结了一些数据表的增删改查操作,希望对一些初学者有所帮助,仅供参考。

开源的数据库操作都离不开INSERT、UPDATE、MODIFY和DELETE语句。其中当SY-DBCNT返回为0,则表示操作成功,此外还将返回实际操作的数据行数。需要指明的是Open SQL本身并不进行操作权限的检查,若需要进行设定,则要在系统中创建授权对象。

一.INSERT语句
Open SQL中的INSERT语句用于向数据库中插入新条目。
1.插入单行数据:dbtab是内表,wa是工作区。
INSERT INTO dbtab VALUES wa.
 INSERT INTO dbtab FROM wa.

内表:Internal memory table 内存中的表,是外设(屏幕、磁盘,打印机等)和数据库表数据交换的中介。
 wa为工作区,是与数据库具有相同结构的数据对象,一般直接基于数据库结构声明。该语句也可以将数据插入视图中,首先该视图所有字段必须来自同一个数据库表,而且在数据字典中的maintenance status属性必须设定为read and change
注:如果相同表关键字的数据条目已经存在,则不能重新插入,只能对非关键字进行更改(UPDATE,MODIFY)

2.插入多行数据:datab是内表,itab是表
INSERT dbtab FROM TABLES itab.
其中itab是内表,包含希望插入的数据条目。
 注:内表应与数据库的行结构一致。
 所有条目成功插入,则SY-SUBRC返回0
使用ACCEPTING DUPLICATE可避免该错误。
INSERT dbtab FROM TABLE itab ACCEPTING DUPLICATE KEYS.
 ACCEPTING DUPLICATE的效果是:若出现关键字相同,返回4,并跳过其再更新所有的其他。

二.UPDATE语句
1.更新单行数据:
UPDATE dbtab SET f1=g1 ... fn=gn WHERE <fix_key>.
 f表组建字段名,g为新设定的值,WHERE为确保只更新单行。
 注:除f=g外还可 f=f+g、f=f-g
通过工作区更改单行数据:
UPDATE dbtab FROM wa.
 2.更新多行数据:
UPDATE dbtab SET f1=g1 ... fi=gi [WHERE <conditions>].
也可以使用SET和WHERE子句同时更新多行数据值;此外不需要在WHERE中限定所有表关键字,该语句本身将更新所有满足条件的数据条目,若不是用WHERE子句,则将更新当前数据集团中的所有数据行。
 注:如果至少有一行数据被更新SY-BUBRC返回0,否则返回4。
 还可通过内表来更新多行数据:
UPDATE target FROM TABLE itab.

三.MODIFY语句
MODIFY语句是SAP的Open SQL中专有语句,该语句相当于INSERT和UPDATE语句的结合。引入期的原因是当更新数据库操作时,并不确知数据库中是否遗憾相应的数据行。
1.添加或更新单行:
MODIFY dbtab FROM wa.
注:操作后SY-SUBRC恒为0;SY-DBCNT为1
 2.添加或更新多行:
MODIFY dbtab FROM TABLE itab.
内表itab将覆盖数据库表中具有相同主关键字的条目。
 注:SY-SUBRC恒为0;SY-DBCNT返回行数
四.DELETE语句
1.删除单行数据:
DELETE FROM dbtab WHERE <fix_key>.
或 DELETE dbtab FROM wa.
其中WHERE必须指明全部表关键字段的值;wa为工作区,若不去dbtab匹配操作将失败。
2.删除多行数据:
DELETE FROM dbtab WHERE <condition>.
 DELETE dbtab[CLIENT SPECIFIED] FROM TABLE itab.
注:返回值同MODIFY
 3.删除多行数据:
 两种形式:1).通过内表删除多行数据条目的过程中将内表置为空;2).使用WHERE FIELD LIKE ‘%‘。

ABAP数据表的操作

时间: 2024-11-05 12:25:49

ABAP数据表的操作的相关文章

Mysql入门到精通之数据表的操作

修改表 ALTER TABLE tb_name; 1.添加字段 ALTER TABLE tb_name ADD 字段名字 字段类型 约束条件 [FIRST/AFTER 字段名称] 1>添加用户名字段 ALTER TABLE test ADD username VARCHAR(20); 2>将字段test添加到表中第一个字段 ALTER TABLE test ADD test VARCHAR(20) FIRST; 3>在id之后添加年龄字段 ALTER TABLE test ADD age

MySQL第五个学习笔记 该数据表的操作

MySQL在创建表,创建.frm文件保存表和列定义.索引存储在一个.MYI(MYindex)且数据存储在有.MYD(MYData)扩展名的文件里.   一.用SHOW/ DESCRIBE语句显示数据表的信息 语法: SHOW TABLES [FROM db_name] [LIKE wild] or SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild] or SHOW INDEX FROM tbl_name [FROM db_name] or

mysql数据库和数据表的操作

1. cmd连接数据库 mysql -hlocalhost -uroot -p123 // mysql -uroot (因为我是本地,并且没有设置密码) 2. 重命名数据表和移动数据表 mysql里面有:数据库samp_db,其下有数据表students,teachers. 现在我要把表移动到school_db下面去,具体操作: 注意:重命名数据库的命令被去除了,rename database 命令被去除了.理由是丢失数据. // 具体原因官网有,但是不能理解 新建数据库:school_db;

T-SQL - 访问远程数据库并对其数据表进行操作

概述 很多时候我们需要在.NET应用程序中使用一条SQL语句来访问来自不同服务器.不同数据库中的不同的表,实现方法有很多.我们可以在.NET应用程序中建立数据访问层,使用ADO.NET Entity Framework将我们的数据库以及数据表抽象成应用程序对象,进而在程序里使用Code来对不同库当中的表进行连接或其他的操作:也可以在数据库级别使用T-SQL脚本直接对不同数据库中的表进行查询或其他操作,前一种方式在这里不做过多介绍,今天介绍一下后一种. 先介绍一下环境,我有2个数据库服务器Serv

MySQL学习3 - 数据表的操作

本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引擎 6.NTSE 存储引擎 7.BLACKHOLE 8.指定表类型/存储引擎 三.表介绍 四.创建表 本节掌握 存储引擎介绍(了解) 表的增删改查 一.存储引擎(了解) 前几节我们知道mysql中建立的库=>文件夹,库中的表=>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各

MySQL数据表查询操作

准语法结构:编写DQL时一定要严格按照此语法的顺序来实现!/* SELECT [ALL | DISTINCT] ALL表示查询出所有的内容 DISTINCT 去重 {* | 表名.* | 表名.字段名[ AS 别名][,...]} 指定查询出的字段的 FROM 表名[AS 别名][,表1... AS 别名] [INNER | [LEFT | RIGHT] [OUTER] JOIN 另一张表名 [AS 别名] ON 关联条件] [WHERE 条件] [GROUP BY 分组字段[,...]] [H

SQL Server 的数据表简单操作

--创建数据表--[use 要创建数据表的数据库名称go]create table 要创建的表名(字段名 数据类型[长度] [null | not null] [primary key],... ... ... ... ,字段名 数据类型[长度] [null | not null]) 例:use 商品管理数据库gocreate table 客户信息表(客户编号 nchar(8) not null,客户姓名 nvarchar(5) not null,联系电话 nvarchar(11) not nu

数据类型及数据表的操作

原则:选择最合适,而不是最大的数据格式 整形 浮点型 日期时间型 字符型 打开数据库:USE db_name; 查看数据库信息:SHOW DATABASE(); 创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type, ...); 查看数据表:SHOW TABLES [WHER ... LIKE]; 查看数据表结构:SHOW COLUMNS FRON tb1;   DESC tb1; 记录的插入:INSERT [IN

My SQL随记 003 数据表基础操作语法

数据表 查看数据表 修改表名 修改字段名 修改字段数据类型 添加删除-字段 约束(主外键默认检查) 查看表结构: 语法:DESRIBE(描述) table_Name; DESC  table_Name; 语法:show create table table_Name; show create table table_Name \G; 修改表名: 语法:alter table table_Name rename to table_New;  修改字段名: 语法:alter table table_