首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

matinal:BUG记录: DELETE TABLE (内表) FROM (结构) 出错

相信大家一定用过这样的语法: DELETE TABLE itab(某内表) FROM wa(某工作区) 语法很简单,就是以工作区的内容,去删掉该内表中的这一行,但是这句代码又很不简单。...DELETE TABLE lt_data FROM ....所以问题最终就是: 如果一个内表有两条数据,需要删掉其中的第二条,但是同时该内表没有key值,那么如果使用该语法,from后面跟第二条的工作区的话,第一条数据会被删掉。...DATA: lt_def_key TYPE TABLE OF ty_nokey. " no key 而在当前bug中,属于第三种情况,出自ABAP7.5的新语法,内嵌声明,代码如下: SELECT * FROM...即使select后面跟的表或者视图明确定义了key值,在内嵌声明中也不会有,于是,用这种方式声明的内表,决不能用delete from 这种语法去删除,这样只能得到一个错误的结果。

12710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    deletedelete[]的区别

    一直对C++中的deletedelete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。    ...C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。...[] p1;   delete p1;   T* p2 = new T[NUM];   cout << p2 << endl;   delete[] p2; } 大家可以自己运行这个程序,看一看 delete...基本类型的对象没有析构函数,所以回收基本类型组成的数组空间用 deletedelete[] 都是应该可以的;但是对于类对象数组,只能用 delete[]。...对于 new 的单个对象,只能用 delete 不能用 delete[] 回收空间。 所以一个简单的使用原则就是:new 和 delete、new[] 和 delete[] 对应使用。

    1.3K10

    c++中delete什么意思_deletedelete()

    一直对C++中的deletedelete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。...C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。...[] p1; delete p1; T* p2 = new T[NUM]; cout << p2 << endl; delete[] p2; } 大家可以自己运行这个程序,看一看 delete...基本类型的对象没有析构函数,所以回收基本类型组成的数组空间用 deletedelete[] 都是应该可以的;但是对于类对象数组,只能用 delete[]。...对于 new 的单个对象,只能用 delete 不能用 delete[] 回收空间。 所以一个简单的使用原则就是:new 和 delete、new[] 和 delete[] 对应使用。

    1K20

    deletedelete [] 的真正区别

    delete[] 两种方式,到底这两者有什么区别呢?...*a = new int[10]; delete a;        //方式1 delete[] a;     //方式2 1....关于 new[] 和 delete[],其中又分为两种情况: (1)为基本数据类型分配和回收空间; (2)为自定义类型分配和回收空间; 对于 (1),上面提供的程序已经证明了delete[] 和delete...不过不管使用 delete 还是 delete[] 那三个对象的在内存中都被删除,既存储位置都标记为可写,但是使用 delete 的时候只调用了 pbabe[0] 的析构函数,而使用了 delete[]...所以,在用这些类生成对象数组的时候,用 delete[] 来释放它们才是王道。而用 delete 来释放也许不会出问题,也许后果很严重,具体要看类的代码了。

    2.6K20

    Understanding delete

    简述         我们都知道无法通过delete关键字针对变量和函数进行操作,而对于显示的对象属性声明却可以进行,这个原因需要深究到js的实现层上去,让我们跟随 Understanding delete...理论     为什么我们可以这样: var o = { x: 1 }; delete o.x; // true o.x; // undefined          却无法这样 var x...而对于VO的属性,默认的[[configurable]]是false,这样就无法针对这些变量使用delete操作。...bar; // true typeof bar; // "undefined"             凡是都有例外,对于delete操作也难免。...})(); ES5严格模式          ES5的严格模式与上述提到的行为不同,它不准许delete删除函数入参,变量和函数,以及函数对象的length。

    97160

    new和delete

    delete释放内存 我们申请完的地址,在程序退出之前是不会释放占用的,跟栈区的变量有差别,我们使用delete,可以将用完的内存还给内存池,C语言使用free而在C++中用的是delete释放 int...*p = new int; delete p; 我们这样只是释放了内存空间,指针还是存在的,可以用ps重新指向一块新的内存,如果不配对使用new和delete,会发生内存泄漏。...delete只能用来释放new出来的内存空间,但是对于空指针用delete也是安全的,但也是无意义的。...比如要创建一个10个int的数组 int * p = new int[10]; 然后返回创建内存块的地址给指针变量p,对于数组的释放delete [] p; 搭配规则: 不要用delete释放不是new...创建的内存 不要使用delete释放一块内存两次 涉及动态数组的创建,应该用delete[]释放,如果是为实体分配内存,则需要用delete来释放。

    19420
    领券