SQL Server 2008表值类型参数
2010-04-28 15:43:59 来源:WEB开发网注意: 这种临时表是在运行在客户端进行创建,这将会导致在客户端没有定义的情况下,服务器端的存储过程将会执行失败。
查看并选中 下列代码并点击Execute:
USE SQL2008Demo
INSERT INTO #EmployeeTempTable
VALUES(1,'John McLean','JohnMcLean@contoso.com')
INSERT INTO #EmployeeTempTable
VALUES(2,'Bob Smith','BobSmith@contoso.com')
INSERT INTO #EmployeeTempTable
VALUES(3,'Ted Connery','TedConnery@contoso.com')
注意: 插入的行在客户端的临时表中产生。
查看并选中 下列代码并点击Execute:
USE SQL2008Demo
GO
exec dbo.NewEmployeeTempTable
查看并选中 下列代码并点击Execute:
USE SQL2008Demo
GO
SELECT * FROM dbo.Employee
GO
查看并选中 下列代码并点击Execute:
USE SQL2008Demo
GO
Drop table dbo.#EmployeeTempTable
GO
注意:
1.临时表是在磁盘上创建并操作的,这将会导致大量的I/O操作。
2.它们在tempdb数据库中进行创建,并非常会导致锁定与阻碍问题。
3.在使用完成后,您必需手动清理数据,并删除临时表。
4.临时表的使用将会导致频繁的存储过程的重新编译。
使用表值类型参数插入数据
查看并选中 下列代码并点击Execute:
USE SQL2008DEMO
GO
Truncate table dbo.Employee
查看并选中 下列代码并点击Execute:
USE SQL2008DEMO
GO
CREATE TYPE EmployeeTableType AS TABLE
(EmpID INT, EmpName nvarchar(100), EmpEmail nvarchar(100))
注意: 在这里需要创建一个表类型来处理表值类型参数。
查看并选中 下列代码并点击Execute:
USE SQL2008DEMO
GO
CREATE PROCEDURE NewEmployee(@EmployeeDetails EmployeeTableType READONLY)
As
BEGIN
INSERT INTO dbo.Employee
SELECT * FROM @EmployeeDetails
END
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接