在sql 2000中能不能使用restrict和set null,若不能使用有什么其它的方法替代嘛?

解决方案 »

  1.   

    你还不会用吧?
    sql server 里面restrict什么使用?我是没有用过的
    但是set null应该是设置一个变量值为空值,而一般一个变量在定义的时候,它就是空值可以这样设置空值
    declare @s varchar(100)
    set @s='aaaa'
    print @s
    set @s=null
    print @s
      

  2.   

    2000目前还不支持restrict,
    REFERENCES 子句只支持如下 ON DELETE 和 ON UPDATE 子句: 
    [ ON DELETE { CASCADE | NO ACTION } ]
    [ ON UPDATE { CASCADE | NO ACTION } ]但是set null上面已经说了
      

  3.   

    Visual FoxPro 语言参考   
    SET NULL 命令[该主题是 beta 版的一部分并将在今后的版本中修改. 空的主题包含了一个占位符.]发送该主题的返馈到微软确定 
    ATLTER TABLE、CREATE TABLE 和 INSERT - SQL 命令如何处理 null 值。
    SET NULL ON | OFF参数ON 指定由 ALTER TABLE 和 CREATE TABLE 所创建表的所有列都允许 null 值。
    在列定义中加入 NOT NULL 子句使该列不接受 null 值。 
    另外,参数 ON 还指定 INSERT - SQL 语句把 null 值加入到 INSERT - SQL VALUE 子句中没有包括的列中。INSERT - SQL 只将 null 值插入到允许 null 值的列中。 
    注意   如果向表中添加一个或多个支持 null 值的字段, 字段数量限制从 255 减少到 254。OFF (默认值)
    指定由 ALTER TABLE 和 CREATE TABLE 所创建表的所有列都不允许 null 值。在列定义时可以在 ALTER TABLE 和CREATE TABLE 中加入 NULL 子句使列接受 null 值。 
    另外,参数 OFF 还指定 INSERT - SQL 语句把空值加入到 INSERT - SQL VALUE 子句没有包括的列中。 备注SET NULL 只影响 ALTER TABLE、CREATE TABLE 和 INSERT - SQL 语句是否支持 null 值。其他命令不受 SET NULL 的影响。SET NULL 的作用域是当前数据工作期。