1

如何在 ESQL/C 中编写一个例程,它将所有数字字段(smallint、decimal 等)初始化为 0(零)并将表中的其他字段初始化为空格?

4

1 回答 1

1

您在 IIUG(国际 Informix 用户组)邮件列表之一上提出了这个问题,并在那里收到了答案。

正如我今天早上回复时提到的,你需要仔细考虑一些你没有提到的类型。将 DATE 归零会将其设置为 1899-12-31。将 INTERVAL 归零是有意义的(尽管您不会通过将所有字节设置为零来做到这一点;类似的注释适用于 DECIMAL 和 MONEY 以及相关类型)。将 DATETIME 归零会生成无效值。并且 BYTE、TEXT、BLOB、CLOB 有不同的问题集。

将字符字段设置为空格很容易。将各种类型的整数字段设置为零也很容易。

您可以查看 Art Kagelutils2_ak包或我的 SQLCMD 包中的代码,两者都可以从 IIUG 软件存档中获得。他们的代码涵盖了您可能遇到的许多情况。

如果它们不足以提供帮助,那么您需要显示您遇到问题的代码,解释正在发生的事情,您想要发生的事情,以及(如果合适的话)您收到的任何阻止它发生的消息。

于 2012-08-17T05:59:19.953 回答