SQL 用户定义表类型,在存储过程里使用表类型,表参数作参数
.定义表类型SUTDENTTYPE,包含三个字段,分别对应学生表的NAME,SEX和PHONE。之所以如此创建,我是准备在插入新学生数据的存储过程中,以它为参数。
GO
CREATE TYPE SUTDENTTYPE AS TABLE(
NAME VARCHAR(50),
SEX CHAR,
PHONE VARCHAR(20)
);
创建插入学生信息的存储过程,它的参数类型是表类型STUDENTTYPE。取出表类型里存储的各条学生记录,将其插入到学生信息表中。
GO
CREATE PROCEDURE ADDSTUDENT
@NEW_STUDENT AS SUTDENTTYPE READONLY
AS
INSERT INTO STUDENT (NAME, SEX, PHONE)
SELECT NAME, SEX, PHONE FROM @NEW_STUDENT;
RETURN 0;
最后建立参数值并执行存储过程ADDSTUDENT。
GO
DECLARE @NEW_STUDENT as SUTDENTTYPE
INSERT @NEW_STUDENT
VALUES ('YLD', 'M', '888')
, ('MM', 'F', '123')
, ('HQG', 'F', '678')
;
EXEC ADDSTUDENT @NEW_STUDENT
原文地址:http://blog.csdn.net/LeyYang/article/details/47662021
SQL 用户定义表类型,在存储过程里使用表类型,表参数作参数的更多相关文章
- 【翻译】Flink Table Api & SQL — 用户定义函数
本文翻译自官网:User-defined Functions https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/tabl ...
- SQL 用户定义表类型,在存储过程里使用数据类型作參数
在数据库编程里使用数据类型,能够提高代码的重用性.它们常常被使用在方法和存储过程中.使用数据类型,我们能够避免在存储过程里定义一串的參数,让人眼花缭乱,它就相当于面向对象语言里.向一个方法里传入一个对 ...
- SQL——用户定义函数
根据用户定义函数返回值的类型,可将用户定义函数分为如下三个类别: (1) 返回值为可更新表的函数 若用户定义函数包含单个 SELECT 语句且该语句可更新,则该函数返回的表也可更新,这样的函数称为内嵌 ...
- 调试SQL Server的存储过程及用户定义函数
分类: 数据库管理 2005-06-03 13:57 9837人阅读 评论(5) 收藏 举报 sql server存储vb.net服务器sql语言 1.在查询分析器中调试 查询分析器中调试的步骤如下: ...
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
用户定义函数(UDF)分类 SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(T ...
- Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据
Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...
- Sql server 浅谈用户定义表类型
1.1 简介 SQL Server 中,用户定义表类型是指用户所定义的表示表结构定义的类型.您可以使用用户定义表类型为存储过程或函数声明表值参数,或者声明您要在批处理中或在存储过程或函数的主体中使用的 ...
- 查询MS sql server里的所有表 SQL中所有列,说明,类型 查询总存储过程数
1.查询SQL中的所有表: Select TABLE_NAME FROM "你的数据库名称".INFORMATION_SCHEMA.TABLES Where TABLE_TYP ...
- SQL Server 用户定义表类型
用户定义表类型: CREATE TYPE [dbo].[TVP_Location] AS TABLE( [Location] [varchar](50) NOT NULL, [Address] [va ...
随机推荐
- Integrating AngularJS with RequireJS
Integrating AngularJS with RequireJS When I first started developing with AngularJS keeping my contr ...
- 用户、角色、权限三者多对多用hibernate的一对多注解配置
用户.角色.权限三者多对多用hibernate的一对多注解配置 //权限表@Table(name = "p")public class P { @Id @GeneratedValu ...
- Frame动画实战
Android动画分为Tween动画和Frame动画,Tween动画主要包括图片的放大缩小.旋转.透明度变化.移动等等操作:Frame动画则简单得多了,就是把一张张的图片连续播放产生动画效果. 本节主 ...
- 2048游戏C语言代码
如果程序里面有错误,希望大家能够批评指正! #include<stdio.h> #include<stdlib.h> #include<conio.h> #incl ...
- Android实现Layout缩放动画
最近看到Any.do的缩放效果很酷,看到一篇讲Layout缩放动画实现的文章,记录一下: http://edison-cool911.iteye.com/blog/704812
- layabox 引擎
layabox H5引擎性能之王LayaAir http://ldc.layabox.com/
- Page 指令的各个属性及其功能
转载:http://www.cnblogs.com/elleniou/archive/2012/09/09/2678101.html 语法规则: <@%page attribute1=”valu ...
- Android studio快捷键大全 和 eclipse对照(原)
Ctrl+空格 代码提示 (同Eclipse中Alt+/) Ctrl+Shjft+N 项目 ...
- javascript原始数据类型compareto引用数据类型--近3天不太会的地方
ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两 ...
- 07——为多态基类声明为virtual析构函数
当基类确定被继承的时候,析构函数声明为virtual是必须的 当返回的派生类的指针或引用的时候,调用析构函数容易发生内存泄漏 当基类作为抽象类使用,声明pure virtual析构函数 析构函数的顺序 ...