自定义函数中应用Insert,update
如我有一个表(table1)字段名为ID,Number   
 我们都知道函数中的insetp,update这些只能针对局部的。 
 如何利用函数对数据库进行更新,和添加操作 
------解决方案--------------------自定義函數中不能執行update, insert, delete
------解决方案--------------------如何利用函数对数据库进行更新,和添加操作   
 -- 
 應該不行, 改用存儲過程
------解决方案--------------------marco08(天道酬勤) ( ) 信誉:100    Blog  2007-2-12 9:27:25  得分: 0              
 自定義函數中不能執行update, insert, delete          
------解决方案--------------------create function test(@a int= ' ') 
 returns @ta table(工号 varchar(3),   打卡日期 varchar(10),  打卡时间 varchar(8)) 
 as 
 begin 
 insert @ta 
 select  '001 ',       '2006.09.08 ',      '07:40:09 ' union all  
 select  '001 ',       '2006.09.08 ',      '08:09:00 ' union all  
 select  '002 ',       '2006.09.08 ',      '08:09:00 ' union all  
 select  '001 ',       '2006.09.09 ',      '08:09:09 ' 
 return 
 end 
 --这样用 
 select * from test( ' ')     
------解决方案----------------------利用存储过程返回也可以 
 大概如下 
 CREATE PROCEDURE pSys_GetOnlyNumber  
 @MOnlyName varchar(36), --唯一值的名称 
 @MOnlyNumber varchar(20) output--添加时默认值 
 AS 
  declare @str  nvarchar(500) 
 declare @Row int --返回当前影响到的行数 
  set   @str= ' ' 
 select @str=MOnlyNumber from tSystem_OnlyNumber where MOnlyName = @MOnlyName 
 set @Row=@@rowcount 
 if(@Row> 0)--如果数据存在,就获取加1 
 	begin 
 		set @str = convert(int,@str)+1 
 		update tSystem_OnlyNumber set MOnlyNumber= @str where MOnlyName = @MOnlyName 
 	end 
 else--否则就直接创建  
 	begin 
 		set  @str= '1001 ' 
 		insert tSystem_OnlyNumber(MOnlyName,MOnlyNumber) values(@MOnlyName,@str) 
 	end 
 set @MOnlyNumber=@str 
 select @str as OnlyNumber 
 GO 
------解决方案--------------------okson(okson) ( ) 信誉:100    Blog  2007-2-13 17:05:41  得分: 0              
 有没有帮知道如何解决的啊 
 就是利用函数更新数表及添加数据              
 这是不可能的