SQL中存储过程调用存储过程,如何知道是谁调用的自己?

prcak47 2009-09-16 11:37:09
我有一个程序,需要A,B,C三个存储过程,里面都需要调用相同表的不同字段来形成参数,作不同的运算。
我想要编一个存储过程D,在里面如果知道是A调用的,就执行A的一些运算,如果知道是B调用的,就执行B的一些运算。
这要如何实现?
...全文
283 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
prcak47 2009-09-17
  • 打赏
  • 举报
回复
我这么做也是没有办法
我有一个不能修改的程序,调用三个存储过程。
这三个存储过程我可以修改。
这三个存储过程都需要从相同的几个表里面调用数据,而且数据相互影响。
我能修改,但是逻辑关系很混乱,执行效率也很低,不同的存储过程重复的从一个表里面提取不同的数据。
我想如果我能够把这三个存储过程从数据库中统一起来,统一编写,我想无论从思路还是执行效率都会提高。
----------
大家给的方法确实可行,而且非常简单。。。
你们可以理解我被程序搞到混乱的思维了吧?
ICrazyBoy 2009-09-16
  • 打赏
  • 举报
回复
在一个存储过程中!根据传过来的参数!比如定义个TYPE1.就调用A的存储过程,else就B!自己弄弄就OK了!
xuejiecn 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 guguda2008 的回复:]
引用楼主 prcak47 的回复:
我有一个程序,需要A,B,C三个存储过程,里面都需要调用相同表的不同字段来形成参数,作不同的运算。
我想要编一个存储过程D,在里面如果知道是A调用的,就执行A的一些运算,如果知道是B调用的,就执行B的一些运算。
这要如何实现?

D里加一个参数,A调就传A,B调就传B
[/Quote]
也算是个办法吧。不如直接调用存储过程清晰。
华夏小卒 2009-09-16
  • 打赏
  • 举报
回复
up
guguda2008 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 prcak47 的回复:]
我有一个程序,需要A,B,C三个存储过程,里面都需要调用相同表的不同字段来形成参数,作不同的运算。
我想要编一个存储过程D,在里面如果知道是A调用的,就执行A的一些运算,如果知道是B调用的,就执行B的一些运算。
这要如何实现?
[/Quote]
D里加一个参数,A调就传A,B调就传B
ws_hgo 2009-09-16
  • 打赏
  • 举报
回复
储存过程中
调用储存没有用过
ws_hgo 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 prcak47 的回复:]
我有一个程序,需要A,B,C三个存储过程,里面都需要调用相同表的不同字段来形成参数,作不同的运算。
我想要编一个存储过程D,在里面如果知道是A调用的,就执行A的一些运算,如果知道是B调用的,就执行B的一些运算。
这要如何实现?
[/Quote]
说白了
就是方法里面嵌套方法
在程序里面处理吧
nvhaixx 2009-09-16
  • 打赏
  • 举报
回复
还是建立不同的存储过程清楚一点。
luoyoumou 2009-09-16
  • 打赏
  • 举报
回复
你看看:你先把 如果存在这个备份设备 名称,就删除,

到后面:又用这个 备份设备名称来备份 (此时已经不存在这个备份名称了)......

两字:悲哀!

你数据库什么版本?
pbsh 2009-09-16
  • 打赏
  • 举报
回复
对存储过程A,B,C参数列表进行配置,存储过程D根据传入参数配置选择对应的存储过程。
xuejiecn 2009-09-16
  • 打赏
  • 举报
回复
 针对A,B分别建立不同的存储过程。
Rotaxe 2009-09-16
  • 打赏
  • 举报
回复
存储过程D加个参数,A调用的就传a
billpu 2009-09-16
  • 打赏
  • 举报
回复
还是做3个存储过程...比较稳妥 或者加上特别的参数
xuejiecn 2009-09-16
  • 打赏
  • 举报
回复
那为何不做成两个存储过程?
--小F-- 2009-09-16
  • 打赏
  • 举报
回复
不会 只能学习了
ks_reny 2009-09-16
  • 打赏
  • 举报
回复
利用參數判斷.
tkscascor 2009-09-16
  • 打赏
  • 举报
回复
没事找事..
notepad--v3.4 windows Notepad--v3.4.0-plugin-Installer.exe 是win10下面的插件版安装包,会关联右键菜单等。 Notepad--v3.4.0-win10-portable.zip 是绿色免安装版本,解压即用,不会关联右键菜单注册表。 Ndd-quick-v3.3.0-win10-single-portable.zip 是单文件绿色免安装版,只包含皮肤和vc依赖库,不含插件、不含文件对比,主推轻量级、快速反应。适合只需要纯粹、轻快级,文本编辑器的用户。不定期发布。 MacOS 版本 Notepad--v3.4.0-mac_x64_12.3.dmg 是macos 12.x 及以后的版本。 Notepad--v3.4.0-mac_arm64_12.3.dmg 是macos 12.x 及以后 arm64 m1/m2芯片 的版本。第一次安装时,需要在设置偏好里面,放开苹果的安装限制,才能正常识别,请自行放开设置一下。 如果还是有问题,参考帖子:#I8JTJN:macOS Sonoma 14.1.1安装提示已损坏:macOS Sonoma 14.1.1安装提示已损坏 uos com.hmja.notepad_3.4.0.0_amd64.deb 是x64 cpu架构的uos系统对应的ndd版本。 其余系统版本后续会发布。 3.4 修改如下: 1 支持文件标签拖入拖出到新窗口的效果。 2 windows下修改快捷键放开。 3 按行号切分大文件。 4 大文件打开时,在文件夹查找所在目录,macos下可能会崩溃问题。 5 目录右键增加删除文件、文件夹功能。 6 补充深色主题下rust语法高亮; lisp 语法失效问题。 7 linux下信号打开文件,不拿锁,打开文件在消息队列去做。

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧