一个SQLServer的自定义函数中调用一个自定义的存储过程,执行此函数后发出如下提示:“只有函数和扩展存储过程才能从函数内部执行"。
原因:函数只能使用简单的sql语句,逻辑控制语句,复杂一点的存储过程是不能调用的,在函数里也不能使用execute sp_executesql 或者execute 。
解决方法把函数改为存储过程,然后在另一个存储过程中象调用函数一样使用此存储过程就可以了。

下面是一个存储过程调用另一个存储过程的实例,有参数传递的。

--存储过程sp_B  
  create  proc  sp_B  
  @A  int  ,    
  @B  int  ,   
  @C  int  output   
  AS  
   
  set  @C  =  @A  +  @B  
  go   
   
  --存储过程p_A  
  create  proc  sp_A   
  @A  int  ,    
  @B  int   
  as   
  declare   @C  int   
  exec  sp_B  @A  ,  @B  ,  @C  output   
  print  @C   
  go

--测试
  exec  sp_A   3  ,  5

转载于:https://www.cnblogs.com/lgx5/p/9988857.html

sqlserver 只有函数和扩展存储过程才能从函数内部执行相关推荐

  1. oracle创建包 和调用,oracle创建函数和调用存储过程和调用函数的例子(区别)...

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  2. oracle创建函数和调用存储过程和调用函数的例子(区别)

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  3. php内置函数和扩展,PHP 内置函数strlen 和mbstring扩展函数mb_strlen的区别

    #EXAMPLE $str_uncode = "简体中文Chinese(Simplified)"; //统计字符串长度 echo strlen($str_uncode).' ';/ ...

  4. mysql函数 游标_存储过程/游标/mysql 函数

    存储过程和函数(存储在 mysql数据库中的 proc表,所以检查有没有这个表) 存储过程是一种存储程序(如正规语言里的子程序一样),mysql支持有两种:存储过程,在其他SQL语句中可以返回值的函数 ...

  5. mysql 扩展存储过程_MySQL4:存储过程和函数

    什么是存储过程 简单说,存储过程就是一条或多条SQL语句的集合,可视为批文件,但是起作用不仅限于批处理.本文主要讲解如何创建存储过程和存储函数以及变量的使用,如何调用.查看.修改.删除存储过程和存储函 ...

  6. MySQL(六)——存储过程和存储函数

    前言 今天简单的介绍一下"存储函数"和"存储过程",平时在工作中用到的时间不多,时间长了难免会忘记.在这里简单的做个回忆总结,方便自己以后复习回忆,当然能帮到需 ...

  7. Oracle存储过程和存储函数创建

    select * from emp; -----------------存储过程------------------------ --定义create[or replace] procedure 存储 ...

  8. 编程开发之--Oracle数据库--存储过程和存储函数(2)

    上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Ja ...

  9. 计算机excel函数应用实例,几个常用函数的功能与应用范例

    1. AND函数 功能: 返回逻辑值:如果所有参数值均为逻辑"真(TRUE)",则返回逻辑"真(TRUE)",反之返回逻辑"假(FALSE)" ...

最新文章

  1. 使用文件给swap增加空间
  2. wamp安装和配置_Joomla安装教程
  3. Learning Perl(Perl语言入门)学习笔记(3)
  4. [转[c++]从int转换成string
  5. system函数用法
  6. The application may be doing too much work on its main thread.
  7. 如何从OnDocumentComplete事件中获得当前frame的html代码
  8. 江阴市高中计算机会考知识点,最新!2019年江阴中考体育考试方案发布!速看.........
  9. 指针java_浅谈Java与指针 - 穿梭于偶然
  10. mysql分组查询后插入新表,MySQL获取分组后的TOP 1和TOP N记录
  11. win10设置禁止系统更新
  12. RDKit | 基于RDKit 的化合物预处理
  13. java判断字符串是否是空,java判断字符串是否为空的方法
  14. 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
  15. TCP复位报文的发送
  16. 降低电源纹波噪声的方法
  17. 什么是次世代游戏?次世代游戏前景怎么样?
  18. 根号3表白html,数字表白公式 表白套路情话
  19. 机器学习笔记 十五:随机森林(Random Forest)评估机器学习模型的特征重要性
  20. acwing-Diango项目 (后半)

热门文章

  1. ORM中的事务和锁、Ajax异步请求和局部刷新、Ajax文件上传、日期时间类型的Json、多表查询图书系统
  2. 360Stack裸金属服务器部署实践
  3. 记一次Kafka集群的故障恢复
  4. jdk的selector(2)channel的注册
  5. mysql语言的特点不包括_SQL语言具有两种使用方式,分别称为交互式SQL和__________...
  6. Spring Cloud 微服务实战系列-Spring Boot再次入门(一)
  7. Solaris11 磁盘分区
  8. bzoj 1597 [Usaco2008 Mar]土地购买——斜率优化dp
  9. Delphi XE的RTTI增强,动态Hook某些内部事件
  10. python: numpy--函数 shape用法