第四十二章 持久对象和SQL - 用于创建持久类和表的选项
用于创建持久类和表的选项
要创建持久类及其对应的 SQL
表,可以执行以下任一操作:
- 使用
IDE
在定义基于%Persistent
的类。当编译类时,系统会创建表。 - 在管理门户中,可以使用数据迁移向导,该向导会读取外部表,提示输入一些详细信息,生成基于
%Persistent
的类,然后将记录加载到相应的SQL
表中。
可以稍后再次运行向导来加载更多记录,而无需重新定义类。
- 在管理门户中,可以使用链接表向导,该向导读取外部表,提示输入一些详细信息,并生成链接到外部表的类。该类在运行时从外部表检索数据。
- 在
SQL
中,使用CREATE TABLE
或其他DDL
语句。这也创建了一个类。 - 在终端(或代码)中,使用
%SQL.Util.Procedures
的CSVTOCLASS()
方法。
访问数据
要访问、修改和删除与持久类关联的数据,代码可以执行以下任意或全部操作:
- 打开持久类的实例,修改它们,然后保存它们。
- 删除持久类的实例。
- 使用嵌入式
SQL
。 - 使用动态
SQL
(SQL
语句和结果集接口)。 - 使用
Python
中的SQL
。 - 使用低级命令和函数进行直接
Global
访问。请注意,除了检索存储的值之外,不建议使用此技术,因为它绕过了对象和SQL
接口定义的逻辑。
SQL 适用于以下情况:
- 最初并不知道要打开的实例的
ID
,而是根据输入条件选择一个或多个实例。 - 想要执行批量加载或进行批量更改。
- 想要查看数据但不想打开对象实例。
(但是请注意,当使用对象访问时,可以控制并发锁定的程度。如果知道不打算更改数据,则可以使用最小并发锁定。)
- 精通
SQL
。
对象访问适用于如下情况:
- 正在创建一个新对象。
- 知道要打开的实例的
ID
。 - 发现设置属性值比使用
SQL
更直观。