相关疑难解决方法(0)

检查约束中的SQL子查询

我可以在Check约束中创建SQL子查询吗?

我有一个post表中的列id, owner
我有另一个表action的列user_id, post_id
user的列id

post_id -> post.id并且user_id -> user.idpost.owner -> user.id

现在我想约束post(post_id).id != user_id桌子action

怎么可能?

postgresql plpgsql foreign-key-relationship check-constraints

42
推荐指数
1
解决办法
2万
查看次数

哪些SQL数据库支持CHECK约束中的子查询?

哪些SQL数据库(如果有)支持CHECK约束中的子查询?

目前,据我所知,Oracle,MySQL和PostgreSQL都没有.

编辑

(根据初步答案澄清.)我正在寻找这样的事情:

CREATE TABLE personnel (
  ...,
department VARCHAR(64) NOT NULL,
salary NUMERIC NOT NULL,
CHECK (salary >= (SELECT MIN(p.salary) FROM payranges p WHERE p.dept = department)
        AND
       salary <= (SELECT MAX(p.salary) FROM payranges p WHERE p.dept = department)
)
Run Code Online (Sandbox Code Playgroud)

UPDATE

MS Access和Firebird都支持此功能.

sql subquery check-constraints

8
推荐指数
1
解决办法
1万
查看次数

SQL Server 2008 是否支持 CREATE ASSERTION 语法?

SQL Server 2008 是否支持CREATE ASSERTION语法?

我一直无法找到一个直接的答案。

sql sql-server-2008 assertion

5
推荐指数
1
解决办法
6097
查看次数