在postgreSQL中这个语句是什么意思?

时间:2015-06-09 18:26:51

标签: sql-server-2008 postgresql

我有一个PostgreSQL转储文件。它包含用于构建表和插入数据的SQL语句。我想在SQL服务器中运行这些语句并使用数据。但是有一些限制,sql server不知道它们。例如,有人可以帮我理解下面约束的意思吗?

CREATE TABLE borders (
    country1 character varying(4) NOT NULL,
    country2 character varying(4) NOT NULL,
    length numeric,
    search_id integer NOT NULL,
    CONSTRAINT borders_length_check CHECK ((length > (0)::numeric))
);

1 个答案:

答案 0 :(得分:0)

看起来您提供的代码会创建一个表,但不会像在SQL Server中编码那样。你需要改变几件。下面应该在SQL SERVER中产生类似的结果:

CREATE TABLE borders (
    country1 varchar(4) NOT NULL,
    country2 varchar(4) NOT NULL,
    length bigint,
    search_id int NOT NULL,
    CONSTRAINT borders_length_check CHECK (length > 0)
);

约束确保如果为长度提供值,则将正值插入表中。如果未输入任何值,则它保持为空。

我根据以下评论编辑了最后一条评论。