delete()

阅读(608) 标签: delete,

本章介绍delete()函数的多种用法。

T.delete()

描述:

删除序表中指定的记录

语法:

T.delete(k)

删除第k条记录

T.delete(p)

删除序号在p中的记录

T.delete(A)

删除在A中的记录

备注:

删除序表T中指定的记录,删除的记录将始终保存在删除缓冲区中。删除记录时有索引则自动更新,并检查唯一性。

参数:

T

序表

k

正整数,表示要删除的记录在序表中的位置

p

n 数列,定义需要删除的记录的位置

A

序列,指定要删除的记录

选项:

@n

返回删除的记录或排列

返回值:

删除记录后的序表T

示例:

 

A

 

1

=demo.query("select * from EMPLOYEE")

 

2

=A1.delete(1)

删除第一条记录

3

=A1.delete([2,4,6])

删除第二、四、六条记录

4

=A1.select(EID>5)

 

5

=A1.delete(A4)

删除EID >5的记录

6

=A1.delete@n(1)

返回删除的记录

注意:

判断A中的记录在T中是否存在,并不是依据字段名,字段值,而是记录的存储地址,因此,要删除指定记录的记录,一般都采用T.delete(T.select(……))函数取得需要删除的记录。

相关概念:

T.modify()

T.insert()

A.delete()

A.delete()

描述:

删除序列A中指定的成员

语法:

A.delete(k)

删除第k个成员

A.delete(p)

删除序号在p中的成员

备注:

删除序列A中指定的成员k或者序号在p中的成员。删除成员时有索引则自动更新索引,并检查其唯一性。

参数:

A

序列

k

正整数,表示要删除的成员在序列中的位置

p

n数列,定义需要删除的成员的位置

选项:

@n

返回删除的记录或排列

返回值:

序列

示例:

 

A

 

1

=["a","c","d","e","f"]

 

2

=A1.delete([2,4,5])

[a,d]

3

=demo.query("select * from STUDENTS")

 

4

=A3.delete@n(2)

返回删除的排列

相关概念:

A.insert()

A.modify()

T.delete()

T.delete(P)

描述:

删除组表中的指定记录

语法:

T.delete(P)

备注:

根据主键删除实表T中包含排列P的主键的记录。如果实表T有索引,则自动更新索引。T为基表时,如果T有附表则在删除记录时同步删除附表中同维的记录。

参数:

T

实表

P

T同构的排列

选项:

@n

返回删除的记录

示例:

 

 

A

 

1

=file("D:\\emp3.ctx")

 

2

=A1.create(#EID,NAME;EID)

创建以EID为排号键,分段键的组表基表

3

=demo.cursor("select EID,NAME from employee where EID< 10")

 

4

=A2.append(A3)

在基表中追加数据

5

=A2.attach(table3,GENDER)

给基表添加附表

6

=demo.cursor("select EID,GENDER from employee where EID< 10")

 

7

=A5.append(A6)

在附表中追加游标记录

8

=demo.query("select EID,GENDER from employee where EID =3 ")

返回EID3的序表记录

9

=A5.delete(A8)

删除实表table3EID3的记录

10

=demo.query("select EID,NAME from employee where EID =2")

返回EID2的序表记录

11

=A2.delete@n(A10)

返回删除的记录

T.delete(P)

描述:

删除内表中的指定记录

语法:

T.delete(P)

备注:

根据主键删除内表T中包含排列P的主键的记录,主键仍然会保持有序如果内表有索引,将会自动更新索引。

参数:

T

内表

P

T同构的排列

选项:

@n

返回删除掉的记录

返回值:

内表

示例:

 

A

 

1

=demo. cursor ("select EID,NAME,GENDER from employee where EID< 10")

返回游标

2

=A1.memory()

返回内表

3

=A2.keys(EID)

 

4

=demo.query("select EID,NAME,GENDER from employee where EID =3 ")

返回EID3的序表记录

5

=A2.delete(A4)

删除EID3的记录

6

=demo.query("select EID,NAME,GENDER from employee where EID =5 ")

返回EID5的序表记录

7

=A2.delete@n(A6)

返回删除的记录

T.delete(P)

描述:

删除集群表中的指定记录

语法:

T.delete(P)

备注:

根据主键删除集群表T中包含排列P的主键的记录。如果集群T有索引,则自动更新索引。

参数:

T

集群表

P

T同构的排列

示例:

 

 

A

 

1

=file("emp10.ctx",["192.168.0.118:8281"])

 

2

=A1.create()

打开集群组表

3

=demo.query("select EID,GENDER from employee where EID =3 ")

返回EID3的序表记录

4

=A2.delete(A3)

删除实表table3EID3的记录