我写了个取自动编号的小函数,不知道哪里错了?
CREATE FUNCTION UDF_GetIncCode (@TableName varchar(20),@FieldName varchar(20))
RETURNS
integer
AS
BEGIN
/*取自动累加的序号*/
declare @sql varchar(200),@Code integer
set @sql = 'select @@Code = ' + @FieldName + ' From ' + @TableName
exec(@sql)
set @Code = IsNull(@Code,0) + 1
set @sql = 'Update ' + @TableName + ' set ' + @FieldName + ' = ' + cast(@Code as varchar)
exec(@sql)
return @Code
END
我保存的时候提示说:在函数内不正确地使用了 'EXECUTE'。
请问我的函数哪里错了?应该怎样改正?请指点,谢谢!