Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402273
  • 博文数量: 120
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 1266
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 16:04
文章分类

全部博文(120)

文章存档

2011年(4)

2010年(10)

2009年(38)

2008年(68)

我的朋友

分类:

2009-01-04 20:26:52

1、如果SQL语句中没有CLIENT SPECIFIED,where语句中是不能出现client的,抽取的数据来自当前的client。
  如果SQL语句中有CLIENT SPECIFIED,并且where语句中指定了client,则抽取指定client的相关数据;where语句中没有指定client,则抽取所有client的数据。
  视图也可以用以下语句,但是视图必须在词典中预先创建好了,而且维护状态为可读写(视图中的表超过2个就只能读不能写了)。
 
2.插入一条记录
  语句有两种基本形式:
  INSERT INTO  [CLIENT SPECIFIED] VALUES .
  INSERT [CLIENT SPECIFIED] FROM .
 
  必须有相同的结构。
 
  语句执行后的返回值(sy-subrc)0代表插入成功,4代表失败,可能原因是key值已存在。
 
3.插入多条记录
  语句:INSERT [CLIENT SPECIFIED] FROM TABLE .
 
  语句执行之后,如果所有记录都插入,返回值0.
  如果有至少一条插入不成功,会出runtime error,意味着所有记录都不会插入,数据库rollback。这种情况下,如果你想让数据库接受能插入的记录,可以用语句ACCEPTING DUPLICATE KEYS.sy-dbcnt返回的是成功插入的记录数量。
 
4.改变一条记录(UPDATE)
  语句有两种基本形式:
  UPDATE [CLIENT SPECIFIED] FROM .
  UPDATE [CLIENT SPECIFIED] set = ... = where .
  在set语句中可以进行简单的加减运算,如f = f + g,f = f - g。
  必须有相同的结构。
 
  语句执行后的返回值(sy-subrc)一般是0和4.0代表改变成功,4代表失败,可能原因是key值不存在。
 
5.改变多条记录(UPDATE)
  语句有两种基本形式:
  UPDATE [CLIENT SPECIFIED] set = ... = where .
  UPDATE [CLIENT SPECIFIED] FROM TABLE .
  第一种形式是通过条件来改变,语句执行之后,只要有一条记录改变,返回值0;4代表没有一条记录改变。sy-dbcnt返回的是成功改变的记录数量。
 
  第二种形式是通过内表来改变,语句执行之后,0代表全部记录都改变;4代表至少有一条记录没有改变。同样的,sy-dbcnt返回的是成功改变的记录数量。
 
6.修改一条记录(MODIFY)
  语句:MODIFY [CLIENT SPECIFIED] FROM .
  MODIFY是SAP特有的,它有些特别,它包含了两个命令 UPDATE & INSERT。
  如果MODIFY语句中的记录存在,则UPDATE;否则INSERT。
 
  语句执行之后,0代表处理成功,4代表失败,原因可能是会毁坏一个唯一的secondary index等。
 
7.修改多条记录(MODIFY)
  语句:MODIFY [CLIENT SPECIFIED] FROM TABLE .
 
  语句执行之后,0代表所有的记录处理成功,4代表至少有一条记录失败,原因可能是会毁坏一个唯一的secondary index等。sy-dbcnt返回的是成功改变的记录数量。
 
8.删除一条记录
  语句有两种基本形式: 
  DELETE FROM [CLIENT SPECIFIED] where .
  DELETE [CLIENT SPECIFIED] FROM .
 
  语句执行之后,返回0代表删除成功,4代表失败,可能原因是记录不存在于数据库中。
 
9.删除多条记录
  语句有两种基本形式:
  DELETE FROM [CLIENT SPECIFIED] WHERE .
 
  DELETE FROM [CLIENT SPECIFIED] FROM TABLE .
 
  第一种形式是通过条件来删除,语句执行之后,只要有一条记录删除,返回值0;4代表没有一条记录删除。sy-dbcnt返回的是成功删除的记录数量。
 
  第二种形式是通过内表来删除,语句执行之后,0代表全部记录都删除;4代表至少有一条记录没有删除。同样的,sy-dbcnt返回的是成功删除的记录数量。
 
10.数据库rollback
  有两种方式会导致数据库回滚:
  A类型的MESSAGE(E.W.I类型的MESSAGE不会触发数据库ROLLBACK)
  使用语句ROLLBACK WORK.
 
 
阅读(1113) | 评论(0) | 转发(0) |
0

上一篇:table control的翻页FM

下一篇:package的创建

给主人留下些什么吧!~~