解决方案 »

  1.   

    if exists(select * from TUser where userid = N'01') 
    begin
      create table TUser
      (
        userid varchar(10),
        userName varchar(50),
        userAge varchar(4),
        userAddress varchar(500)   
      )
    end脚本内容(二):
    if not exists(select * from TUser where userid = N'01') 
    begin
      create table TUser
      (
        userid varchar(10),
        userName varchar(50),
        userAge varchar(4),
        userAddress varchar(500)   
      )
    end 
    ---------------------------------这样的语句逻辑是错误的,if (not) exists (.....)
    只能判断表中有无记录,而不能判断表是否存在.if object_id('tUser','u') is null
    begin
       create table ....
    end
      

  2.   

    真是误会,再次说明一下:我本意就是判断表是否存在,但发帖时,为了方便,鬼使神差的变成了判断记录是否存在,但这不是问题所在啊,上文我已回复说明了,我换成判断表是否存在,有not时一样出现异常,是这样判断的:if not exists(select * from sysobjects where id = object_id(N'TUser')) ... 重要补充: 
    很奇怪,用25楼的判断方法,仅当判断为真时,正常,即表确实不存在时,才正常,若当表存在时,即判断为假时,也出现那样的异常信息.... 
    之前只是试了不存在情况,以为可以了,没想到... 
      

  3.   

    if object_id('tUser','u') is null 
    begin 
      create table .... 
    end这种方法判断,当表存在时,即条件为假时,也会出现那样的异常....