sqlserver2008 存储过程使用表参数
2016-01-16 14:13
344 查看
----首先,我们定义一个表值参数类型,其实就是一个表变量
Create type dbo.tp_Demo_MultiRowsInsert as Table
(
[PName] [Nvarchar](20) NOT NULL,
[GName] [Nvarchar](20) NOT NULL
)
GO
----下面我们用这个表变量做参数,通过存储过程调用它
CREATE Procedure dbo.CPP_InsertMultiRows
(@ManyRows as tp_Demo_MultiRowsInsert readonly
)
as
INSERT [dbo].[tb_Demo_MultiRowsInsert]
SELECT PName,GName from @ManyRows
GO
----程序中构造多个行集
DECLARE @tmpRows as tp_Demo_MultiRowsInsert
----插入多个数据到参数表中
INSERT @tmpRows(PName,GName) values('胡一刀','国土资源部')
INSERT @tmpRows(PName,GName) values('胡青牛','医药局')
INSERT @tmpRows(PName,GName) values('令狐冲','文广中心')
----传递参数到存储过程,完成一次多行集插入
EXEC dbo.CPP_InsertMultiRows @tmpRows
Create type dbo.tp_Demo_MultiRowsInsert as Table
(
[PName] [Nvarchar](20) NOT NULL,
[GName] [Nvarchar](20) NOT NULL
)
GO
----下面我们用这个表变量做参数,通过存储过程调用它
CREATE Procedure dbo.CPP_InsertMultiRows
(@ManyRows as tp_Demo_MultiRowsInsert readonly
)
as
INSERT [dbo].[tb_Demo_MultiRowsInsert]
SELECT PName,GName from @ManyRows
GO
----程序中构造多个行集
DECLARE @tmpRows as tp_Demo_MultiRowsInsert
----插入多个数据到参数表中
INSERT @tmpRows(PName,GName) values('胡一刀','国土资源部')
INSERT @tmpRows(PName,GName) values('胡青牛','医药局')
INSERT @tmpRows(PName,GName) values('令狐冲','文广中心')
----传递参数到存储过程,完成一次多行集插入
EXEC dbo.CPP_InsertMultiRows @tmpRows
相关文章推荐
- SQL SERVER 小技巧
- SQL Server中调用WebService的实例
- SQL SERVER代理作业删除失败问题
- SQL Server中行列转换 Pivot UnPivot
- SQLSERVER数据库管理员的专用连接DAC
- SQL数据库缓存
- SQL Server Management Studio自定义快捷键
- mysql select 语句用法
- Oracle - 数据库的实例、表空间、用户、表之间关系
- 使用plsql导入dmp文件缺少imp*.exe
- java对redis的基本操作
- Navicat 连接oracle解决方案之ORA-28547
- Redis的数据回写机制
- DAG中数据库的复制队列长度和重播队列长度的区别
- Java中使用Jedis操作Redis
- mysql ERROR 1045 (28000): Access denied for user解决
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- sqlite的交叉编译及移植 -转
- 嵌入式数据库Sqlite移植教程-转
- Mysql数据库导入excel数据