create proc cur_fun(
@cur cursor --输入参数
)
as
begin
declare @mytpye tb1_type
declare @id int,@name nvarchar(50)
fetch next from @cur into @id, @name
while(@@FETCH_STATUS=0)
begin
insert into @mytpye values(@id,@name)
fetch next from @cur into @id, @name
end select * from @mytpye
end

--消息 1051,级别 15,状态 2,过程 cur_fun,第 2 行
--存储过程中的游标参数必须以 OUTPUT 和 VARYING 选项来声明,并且必须以 CURSOR VARYING OUTPUT 顺序指定。
--消息 137,级别 15,状态 2,过程 cur_fun,第 8 行
--必须声明标量变量 "@cur"。
--消息 137,级别 15,状态 2,过程 cur_fun,第 12 行
--必须声明标量变量 "@cur"。
-------------------------------------

create function cur_fun(
@cur cursor --输入参数
)
returns @mytype table(
id int,
name nvarchar(50)
)
as
begin
--declare @mytpye tb1_type
declare @id int,@name nvarchar(50)
fetch next from @cur into @id, @name
while(@@FETCH_STATUS=0)
begin
insert into @mytype values(@id,@name)
fetch next from @cur into @id, @name
end return
end

--消息 5306,级别 15,状态 0,过程 cur_fun,第 3 行
--不允许函数有游标参数。变量 '@cur' 属于游标类型。
--消息 137,级别 15,状态 2,过程 cur_fun,第 12 行
--必须声明标量变量 "@cur"。
--消息 1087,级别 15,状态 2,过程 cur_fun,第 15 行
--必须声明表变量 "@mytype"。
--消息 137,级别 15,状态 2,过程 cur_fun,第 16 行
--必须声明标量变量 "@cur"。
------------------------------------------------

sqlserver 存储过程 自定义函数 游标???的更多相关文章

  1. sqlserver中自定义函数+存储过程实现批量删除

    由于项目的需要,很多模块都要实现批量删除的功能.为了方便模块的调用,把批量删除方法写成自定义函数.直接上代码. 自定义函数: ALTER FUNCTION [dbo].[func_SplitById] ...

  2. Mysql - 存储过程/自定义函数

    在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...

  3. 十七、存储过程&自定义函数详解

    代码中被[]包含的表示可选,|符号分开的表示可选其一. 需求背景介绍 线上程序有时候出现问题导致数据错误的时候,如果比较紧急,我们可以写一个存储来快速修复这块的数据,然后再去修复程序,这种方式我们用到 ...

  4. SqlServer存储过程及函数

    存储过程和函数类似于Java中的方法. ⒈存储过程 一组预先编译好的sql语句的集合,理解成批处理语句. 好处: ①提高代码的重用性 ②简化操作 ③减少了编译次数并且减少了和数据库服务器的连接次数,提 ...

  5. 用sqlserver的自定义函数直接获取多级部门全名

    好久没写存储过程了,今日正好同事的开发需要,实现显示多级部门的部门全名称. 如 财务部/会计部/会计一部   部门表 人员表 函数 getOrgAllName --OrgID 72 当前的部门ID A ...

  6. Sqlserver中存储过程,触发器,自定义函数(一)

    Sqlserver中存储过程,触发器,自定义函数 1.存储过程有关内容存储过程的定义:存储过程的分类:存储过程的创建,修改,执行:存储过程中参数的传递,返回与接收:存储过程的返回值:存储过程使用游标. ...

  7. Sqlserver中存储过程,触发器,自定义函数(二)

    Sqlserver中存储过程,触发器,自定义函数: 自定义函数:1.函数类型:2.函数的参数和返回值: 1.函数类型:标量值函数,返回的是一个标量值表值函数:内联表值函数:多语句表值函数. 标量值函数 ...

  8. Sqlserver中存储过程,触发器,自定义函数

    Sqlserver中存储过程,触发器,自定义函数: 1. 触发器:是针对数据库表或数据库的特殊存储过程,在某些行为发生的时候就会被激活 触发器的分类: DML触发器:发生在数据操作语言执行时触发执行的 ...

  9. sqlserver自定义函数与存储过程的区别 实例详解

    分享下sql server自定义函数与存储过程的区别,一起来学习下. 一.自定义函数: 1. 可以返回表变量 2. 限制颇多,包括 不能使用output参数: 不能用临时表: 函数内部的操作不能影响到 ...

随机推荐

  1. 【Jest】笔记一:环境配置

    一.开发环境 Mac node.js:v9.9.0  下载链接:http://nodejs.cn/download/ VScode 下载链接:https://code.visualstudio.com ...

  2. Merging one UE4 project into another.

    Merging can be done by right clicking on folder in the content directory in the editor and selecting ...

  3. Sqlsession 的理解

    MyBatis的持久化解决方案是将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无须关注底层的JDBC操作,就可以以面向对象的方式来进行持久化层操作.底层数据库连接的获取,数 ...

  4. 发送ajax步骤

    1.创建异步对象  一般命名为xhr     var xhr = new XMLHttpRequest();   2. 设置请求行 open(请求方式,请求url)     1.get 需要在url后 ...

  5. java8_api_nio

    NIO-1    nio的概念    Buffer的属性    Buffer中数据的读写        用以提高IO处理数据的性能问题,之前io里的单位是Byte(java程序向流中写入byte或相反 ...

  6. 左耳听风-ARTS-第1周

    Algorithm https://leetcode.com/problems/longest-common-prefix/ class Solution { public String longes ...

  7. 压力测试:系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...

  8. 【转】Python高级知识点总结

    一.可迭代对象.迭代器对象和生成器 像list, tuple等这些序列是可以使用for...in ...语句来进行遍历输出的.这是为什么呢?这就需要知道可迭代对象(Iterable).迭代器对象(It ...

  9. mysql 视图 安全性( mysql 表能读,但是视图不能读问题 )

    安全性: 有两个选项 Definer:定义者 , 定义者有什么权限 ,访问视图的人就有什么权限 Invoker: 调用者  ,根据调用这个视图的当前用户来决定 有什么权限 采坑: 项目中有个复杂查询. ...

  10. Ansible 批量修改密码

    客户要求每3个月修改一次主机密码.密码规则为客服提供的一串字符 xxxx + 主机后3位. 将需要登录主机添加到 Ansible. 将需要登录主机的公钥添加到 known_hosts ssh-keys ...