Firebird SQL:检查是否为特定列设置了NULL约束?

时间:2010-02-08 08:47:08

标签: sql firebird nullable constraints

我希望我的C#程序知道是否为特定的Firebird数据库列设置了notNULL约束。可以通过查询元数据动态检查吗?我发现Firebird文档非常稀疏。

此外,Firebird如何提供特定表中存在哪些列的信息?

2 个答案:

答案 0 :(得分:2)

要手动执行此操作,请使用以下语句:

select rdb$null_flag
from rdb$relation_fields
where rdb$relation_name = 'MyTable' and rdb$field_name = 'MyField'

或者,您可以尝试浏览FbDataReader.GetSchemaTable()

答案 1 :(得分:1)

您需要请求有关约束的Firebird元数据 - 有关它的所有信息都存储在系统表中。例如,如何查看此页面:http://www.alberton.info/firebird_sql_meta_info.html(请参阅“列出CONSTRAINTs”部分)。