了解SQL中的表约束

时间:2015-08-13 13:23:46

标签: java sql sql-server postgresql

我面对的是系统table_contraints。现在,我正在编写一个表示表约束本身的类TableConstraint。是table_constraint postgreSQL - 这个概念,或者如果我迁移到MSSQL或其他RDBMS,我可以安全地使用该课程吗?

public abstract class TableConstraint{

    private String name;
    private String tableName;
    //GET, SET
}

2 个答案:

答案 0 :(得分:2)

  

table_constraint是postgreSQL-speciefic概念

没有。它是ANSI Truehttps://en.wikipedia.org/wiki/Information_schema

的一部分
  

如果我迁移到MSSQL或其他RDBMS,我可以安全地使用该类吗?

这取决于。并非所有RDBMS都支持information_schema(例如Oracle不支持)。但是请快速查看https://msdn.microsoft.com/en-us/library/ms186778.aspx,我们知道SQL Server会实现它。

答案 1 :(得分:1)

information_schema视图是information schema的一部分。这是the standard的一部分。假设现代数据库符合标准是相当安全的,但与所有标准一样,并非总是如此。真。

它确实存在于最新版本中:

它不存在(或者我没有找到关于它的信息):

  • SQLite的
  • Oracle(正如拉德克所指出的)