Oracle Number 列的默认值
我在名为 SampleTable 的表上有一个数字列,定义如下
ID Number(10) DEFAULT 1
我在不同的表(SomeTable)上有一个触发器,并且 UPDATE EACH ROW (触发器 - :New.ID)从该表插入值(SomeTable) 到 SampleTable 中。
有时,SomeTable 中的 ID 可能为 NULL,我希望 SampleTable 在我的情况下插入默认值 1。
但它会在表上插入 NULL(空白)。
我对 PL/SQL 有点陌生,所以非常感谢任何帮助。
I have a number column on a table called SampleTable which is defined as follows
ID Number(10) DEFAULT 1
I have a trigger on different table(SomeTable) and UPDATE EACH ROW (Trigger - :New.ID) which inserts value from that table(SomeTable) into the SampleTable.
Sometimes the ID from SomeTable can be NULL and I wanted to SampleTable to insert the default value 1 in my case.
But it inserts NULL(Blankspace) on the table.
I am kinda new to PL/SQL so any help is greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
仅当插入中未指定列时才使用列默认值:
如果已指定列,则不会使用列默认值,即使已传入 NULL:
要处理此问题,触发器可以执行以下操作:
A column default is only used if the column is not specified in the insert:
It is not used if the column has been specified, even if a NULL has been passed in:
To deal with this, your trigger can do this: