我希望我的C#程序知道是否为特定的Firebird数据库列设置了notNULL约束。可以通过查询元数据动态检查吗?我发现Firebird文档非常稀疏。
此外,Firebird如何提供特定表中存在哪些列的信息?
答案 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”部分)。