函数如下:CREATE FUNCTION WriteLog (@loginfo varchar(200))  
RETURNS bit AS  
BEGIN 
 INSERT INTO logtable(logInfo) VALUES(@loginfo)
 RETURN 1
END表logtable有三个字段,另两个,一个自增,一个有默认值,但总提示我INSERT用法不对.

解决方案 »

  1.   

    CREATE proc WriteLog (@loginfo varchar(200))  
    as
     INSERT INTO logtable(logInfo) VALUES(@loginfo)
     RETURN 1
    go
      

  2.   

    CREATE FUNCTION WriteLog (@loginfo varchar(200))  
    RETURNS bit AS  
    BEGIN 
     INSERT INTO logtable(logInfo) VALUES(@loginfo)
     RETURN 1
    END这当然有问题,要定义表变量
    CREATE FUNCTION WriteLog (@loginfo varchar(200))  
    RETURNS logtable table(logInfo varchar(200))
    AS  
    BEGIN 
     INSERT INTO logtable(logInfo) VALUES(@loginfo)
     RETURN
    END
      

  3.   

    CREATE FUNCTION WriteLog (@loginfo varchar(200))  
    RETURNS @logtable table(logInfo varchar(200))
    AS  
    BEGIN 
     INSERT INTO @logtable(logInfo) VALUES(@loginfo)
     RETURN
    END
      

  4.   

    自定义函数不能执行insert, delete, update操作
      

  5.   

    CREATE FUNCTION WriteLog (@loginfo varchar(200))
    RETURNS bit AS
    BEGIN
    INSERT INTO logtable(logInfo) VALUES(@loginfo)
    RETURN 1
    END
    没有看出错误应该如楼上所说,还有在自定义函数中有写系统函数是不能用的,如:getdate()
    要使用视图方可实现