当前位置: 首页 > 面试题库 >

检查访问限制

上官斌
2023-03-14
问题内容

我正在处理Access database,并且想将a另存CheckConstraint为查询。这甚至有可能Access吗?无论如何,这是我的查询:

ALTER TABLE LEVERANCIER
ADD CONSTRAINT chk_postcode CHECK(
NOT EXISTS(
SELECT levnr, postcode
FROM LEVERANCIER
WHERE Left(postcode, 4) = 5050 OR Woonplaats = "Amsterdam"));

它确实可以在AnySQL Maestro中工作,但是不能在Access中工作。


问题答案:

Access数据库引擎确实支持CHECK约束,但是不能从Access中的查询设计器中执行创建约束的DDL。必须使用VBA代码和ADO连接创建它们,如下所示:

Option Compare Database
Option Explicit

Public Sub AddCheckConstraint()
    Dim strSql As String
    strSql = _
            "ALTER TABLE LEVERANCIER" & vbNewLine & _
            vbTab & "DROP CONSTRAINT chk_postcode;"
    On Error Resume Next
    CurrentProject.Connection.Execute strSql
    On Error GoTo 0
    strSql = _
            "ALTER TABLE LEVERANCIER" & vbNewLine & _
            vbTab & "ADD CONSTRAINT chk_postcode" & vbNewLine & _
            vbTab & "CHECK (" & vbNewLine & _
            vbTab & vbTab & "NOT EXISTS (" & vbNewLine & _
            vbTab & vbTab & vbTab & "SELECT levnr, postcode " & vbNewLine & _
            vbTab & vbTab & vbTab & "FROM LEVERANCIER " & vbNewLine & _
            vbTab & vbTab & vbTab & "WHERE Left(postcode, 4) = '5050' OR Woonplaats = 'Amsterdam' " & vbNewLine & _
            vbTab & vbTab & ")" & vbNewLine & _
            vbTab & ");"
    CurrentProject.Connection.Execute strSql
End Sub


 类似资料:
  • 本文向大家介绍sitecore 访问项目时禁用权限检查,包括了sitecore 访问项目时禁用权限检查的使用技巧和注意事项,需要的朋友参考一下 示例            

  • mysqlaccess是Yves Carlier为MySQL分发提供的一个诊断工具。它检查访问权限的主机名、用户名和数据库组合。请注意 mysqlaccess检查只使用user、db和host表的访问。它不检查在tables_priv、columns_priv或procs_priv表中指定的表、列或者程序的权限。 调用mysqlaccess的方法: shell> mysqlaccess [host

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 98) >>> bart.score 98 >>> bart.score = 59 >>> bart.sc

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 59) >>> bart.score 59 >>> bart.score = 99 >>> bart.sc

  • 问题内容: 我正在编写Java应用程序,目前正在处理所有Apple本机LAF内容。我试图自定义应用程序菜单,但发现需要使用com.apple.eawt.Application来进行此操作。但是,当我尝试导入该类时,我的IDE会说: 我正在 Mac OS X 10.9上* 使用 Eclipse 使用 JDK 1.7 更新45 。该 rt.jar的 是在类路径中,但事情很不高兴。我该如何解决? * 问

  • 原始问题: 我正试图用这个命令安装monaca。 但是就在得到这些错误之后: 知道怎么解决这个问题吗?谢谢你们