标签: referential-integrity

将伪代码转换为SQL脚本

所以我有两张桌子:

  1. Bookmarks 有几列[id等]
  2. Person_Bookmark 有2列[personId,bookmarkId]

Bookmarks代表其他网站的链接.所有有效的书签都有一个id.该Person_Bookmark表有一堆personIds和他们的书签,显示为bookmarkId.

这是我的伪代码:

> let x = integer list of all bookmarkId's from Person_Bookmark
> 
> for each x  {   
>     if ('select * from 'Bookmarks' where 'id' = x returns 0 rows) {
>       delete from 'person_bookmark' where 'bookmarkId' = x
>     }
> }
Run Code Online (Sandbox Code Playgroud)

请告诉我如何转换为Postgres [edit] SQL脚本.

sql postgresql referential-integrity foreign-keys

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

无法在Access中强制执行参照完整性

我已经检查了所有错误:主键,唯一性和类型.访问只是似乎无法链接我在我的数据库中的2个字段.有人可以看看吗?

http://www.jpegtown.com/pictures/jf5WKxKRqehz.jpg

谢谢.

ms-access referential-integrity

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

我的RDBMS或我的应用程序应该处理数据库参照完整性吗?

外键,约束,默认值等项目是否应由数据库管理系统(在本例中为MS Sql 2005)或应用程序处理?我听过双方的意见,老实说我不确定要走哪条路.

我原本打算将它构建到数据库中,但是我发现使用当前的数据库设计并不总是这样.例如,某些表包含循环引用,无法使用链接ON UPDATE CASCADE.我遇到的另一个问题是我们可能会使用多个数据库/服务器,并且外键约束在链接服务器上不起作用.

我有一些开发人员建议我在应用程序层进行数据验证,并将数据库保留为存储数据的地方.我喜欢这个想法,但我已经在很多地方读过,最好在数据库中建立参照完整性,以允许不通过应用层传递的事务.我同意这一点,虽然当我们完成所有数据库事务时应该通过应用程序.即使我们决定稍后构建插件,我们也在使用ObjectModel框架,因此永远不需要重写插入/更新/删除查询.

所以我的问题是,在这种情况下,你仍然建议在数据库中构建引用完整性,还是可以将它构建到应用程序层中?为什么?

database referential-integrity

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

创建外键是否自动意味着引用完整性?

如果我创建外键是参照完整性自动?我是否必须设置其他任何内容才能进行级联工作?

编辑:例如,在postgres中.我的意思是通过自动,我不需要设置其他任何东西,使RI工作.删除.我猜测虽然FK意味着它将确保插入的FK中存在数据.

database-design referential-integrity

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

如何将overlay的overlayClass的成员更改为groupOfUniqueNames

我正在运行OpenLDAP 2.4.31.基于反向组成员维护:

只要对象类(默认为groupOfNames)的条目的成员资格属性(默认成员)发生更改,配置为触发更新,overlayof成员就会更新属性(默认为memberOf).

我想更改这些默认值,因此叠加层基于objectClass groupOfUniqueNames和属性uniqueMember.我没有在文档中找到有关如何执行此操作的任何提及,而且我也没有找到任何默认设置cn=config; 我必须在此处添加哪些设置才能进行所需的更改?

我已经cn=config基于这篇文章添加了memberof和参照完整性配置.

configuration referential-integrity ldap openldap

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

SQL Server 2005是否将错误消息号传递回asp.net应用程序?

我想在执行错误查询时从SQL Server获取消息号和严重性级别信息.

例如,当用户尝试删除另一条记录引用的行,并且级联关系为"无操作"时,我希望应用程序能够检查错误消息547("DELETE语句与REFERENCE constraint ...")并向用户返回用户友好和本地化的消息.

在SQL Server上直接运行此类查询时,将打印以下消息:

Msg 547, Level 16, State 0, Line 1
<Error message...>
Run Code Online (Sandbox Code Playgroud)

在Asp.Net应用程序中,此信息是否可在事件处理程序参数或其他位置获得?

另外,我不认为有人知道在哪里可以找到SQL Server消息号的确切参考?

sql-server asp.net error-handling referential-integrity

0
推荐指数
1
解决办法
815
查看次数

Yii完整性约束异常处理与用户友好的消息

我正在使用此模型代码删除记录.

public function actionDelete($id)
{
        $this->loadModel($id)->delete();

        // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
        if(!isset($_GET['ajax']))
            $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
Run Code Online (Sandbox Code Playgroud)

包含此记录的表与其他表具有一对多关系,具有删除限制约束.

因此,当删除子表中具有相关记录的记录时,它会抛出异常

CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`bzuexamsystem`.`campus`, CONSTRAINT `fk_Campus_City` FOREIGN KEY (`CityID`) REFERENCES `city` (`CityID`) ON UPDATE CASCADE). The SQL statement executed was: DELETE FROM `city` WHERE `city`.`CityID`=1 
Run Code Online (Sandbox Code Playgroud)

是否有某种方式显示用户友好的错误消息.谢谢

error-handling referential-integrity exception yii

0
推荐指数
1
解决办法
5532
查看次数