请大家帮帮忙,这样的SQL函数怎样去解决。(150)

  • 主题发起人 主题发起人 weibinggui
  • 开始时间 开始时间
W

weibinggui

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写个函数,在返回值的同时去修改原表的数据,但是自定义函数不能用UPDATE,EXEC 等语句,没有办法我写成了下面存储过程!但是在SELECT 语句中,我又无法实现它像函数一样的取值,请大家帮帮忙,看这个问题我该怎样处理。--*****************我的存储过程************************************************CREATE PROCEDURE GETVALUES @AAA VARCHAR(200)=''AS IF EXISTS(SELECT B FROM TABLE1 WHERE TABLENAME= @AAA ) BEGIN UPDATE TABLE1 SET B=B+1 WHERE TABLENAME=@NOM END ELSE BEGIN INSERT TABLE1 VALUES (@NOM ,1) END---返回结果. SELECT TOP 1 TABLEXH FROM WHERE TABLE1 =@NOM --***************************************************************************** 我想实现的查询,SELECT A。XH ,A。DDBH,GETVALUES(A。NOM) FROM TABLE2请大家帮帮忙。
 
你就是想实现一个类似oracle的序列器的功能吧?在SQL Server中,用户定义函数不能用于执行一组修改全局数据库状态的操作,只能对函数内的临时表进行INSERT,DELETE和UPDATE操作。相关帖子:http://topic.csdn.net/t/20060413/12/4683936.htmlhttp://topic.csdn.net/t/20040701/10/3136691.html-------建议使用其他方法来实现吧,通过这种方式肯定是不可以的了。
 
将返回值定义为TABLE型就行了
 
谢谢两位的帮助!!!!!这样的功能,大家一般是通过什么方式去解决的,谁有什么好点的办法。
 
再次求助,不行下午结贴,给两位仁兄放分了。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
899
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部