CREATE function StopArea(@A varchar(100))
returns bit
as
begin
return 1--判斷
END 

解决方案 »

  1.   

    create function StopArea(@A varchar(100)) 
    returns bit
    as
    begin
    if @A='1'--判斷
    return 1
    return 0
    end
      

  2.   

    CREATE function StopArea(@A varchar(100)) 
    returns bit 
    as 
    begin
     declare @PD int
     set @PD = (select .... SELECT @@IDENTITY)
     IF(@PD != "")
     {
      INSERT INTO ...
       return 1
      } 
    return 0--判斷 
    END 
    是这个意思。但语法有些不知道怎么写
      

  3.   


    寫法\判斷錯參照
    http://technet.microsoft.com/zh-cn/library/ms186755(SQL.90).aspx
      

  4.   

    樓主要實現怎樣的效果;
    列出來,看一下函數的語句語法和函數語句set @PD = (select .... SELECT @@IDENTITY) --完全錯..
    @@IDENTITY--用於標識列新增時用賦值:
    select @PD=ID from table where Name=@A--這樣賦值

    set @PD=(select top 1 ID from table where Name=@A)
      

  5.   

    CREATE function StopArea(@StopArea varchar(100))
    returns bit
    as
    begin
     declare @PD int
     set @PD=(SELECT id FROM StopArea WHERE (StopArea = @StopArea))
     if(@PD >0)
     INSERT INTO StopArea (StopArea) VALUES ('1')
     return 1;
     
    return  0
    END中国风
    麻烦了。我整半天都有错。!
    1在插入那里 写错了
    2 在@PD的判断如何为空?
      

  6.   

    我来捡分的
    @A的内容比如是:北京 需要做一个插入,插入前做个判断,如果没有 则插入并返回true,如果有则返回FALSE CREATE function StopArea(@StopArea varchar(100)) 
    returns bit 
    as 
    begin declare @PD int 
    set @PD=(SELECT id FROM StopArea WHERE StopArea = @StopArea) if(@PD is null) 
    begin
        --没有,插入
        INSERT INTO StopArea (StopArea) VALUES ('1') 
        return 1
    end
    else
    begin
    --有 返回 false
        return  0 
    end
    END 
      

  7.   

    还是不对啊。提示:‘
    在函数内不能正确的使用 insert
      

  8.   

    set @PD=(SELECT top 1 id FROM StopArea WHERE StopArea = @StopArea)--加上top 1賦值
    --這一段出錯,函數用法,只有對表變量用insert
    INSERT INTO StopArea (StopArea) VALUES ('1')只是判斷時把insert去掉
      

  9.   

    结贴 函数里不能使用 INSERT