数据库:更新表需关联到其它表的update语句怎么写

数据库:更新表需关联到其它表的update语句怎么写,第1张

update 用户余额表 a,银行货币表 b,银行表 c

set a余额=0

where ab_id=bid and b银行id=a银行id and a银行名='a';

代码我不会写,但是我可以提供些建议给你

commit work 这个代码的意思是你 *** 作完成此项 *** 作之后释放占有的资源

commit work and wait是执行完成所有 *** 作之后才释放资源。

mysql 数据库,更新字段语句

一、UPDATE:

UPDATE的功能是更新表中的数据。这的语法和INSERT的第二种用法相似。必须提供表名以及SET表达式,在后面可以加WHERE以限制更新的记录范围。

UPDATE table_anem SET column_name1 = value1, column_name2 = value2,

WHERE 。

如下面的语句将users表中id等于123的记录的age改为24。

UPDATE users SET age = 24 WHERE id = 123。

开源的数据库 *** 作都离不开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 '%'。

资料来源:网页链接

以上就是关于数据库:更新表需关联到其它表的update语句怎么写全部的内容,包括:数据库:更新表需关联到其它表的update语句怎么写、SAP ABAP 怎么在程序里使用COMMIT WORK 和 rollback WORK,、MYSQL数据库 更新表数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9702801.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存