创建了一个将XML文件中的企业数据链接到PROGRESS 4GL数据库的流程...使用动态查询,我将表名,字段名称和它的值传递给当前使用临时表副本的包含table我正在填充...我希望不要做的是为每个填充的字段编写特定的验证子句...期望Schema Validation子句在写入字段时会启动...我希望我现在可能要做的是从实际的表字段中获取验证子句,构建一个运行时程序来进行验证。 hndField:Validation-Expression和hndField:Validation-Message ...如果我必须为每个字段构建一个运行时验证程序,就会失去动态查询的目的。
导致我悲伤的概念:
使用:DEFINE TEMP-TABLE Blah LIKE Foo。
1)似乎没有在Blah中的字段中包含Foo验证子句(已确认查看hndField:Validate-Expression ...总是返回?用于临时表字段)即使我将Foo验证和消息分配给Temp -table字段,进行更新Blah.somefield未经过验证。
2)使用动态查询; 分配hndField:Buffer-Value =“somevalue”无错误。 即使我使用Foo而不是Blah进行查询,分配也不会使用SCHEMA字段验证条款......甚至添加了VALIDATE Foo无错误。
3)缓冲区复制Blah to Foo似乎也没有做任何验证
还有什么方法可以强制架构验证来保持这些数据纯粹是动态链接的?
答案 0 :(得分:0)
您是否只是尝试添加' VALIDATE'选项?
DEFINE TEMP-TABLE Blah LIKE Foo VALIDATE.
这将与正常验证一样好(或坏)。
在线帮助:
VALIDATE
temp-table字段从字典继承数据库表table-name中的验证表达式和验证消息。
我个人更喜欢在代码和数据库之外保持验证。至少除了最基本的验证(可能确保有详细记录的主记录)。
我发现词典方法有限且难以维护。但我想这只是基于意见的。