WEB开发网
开发学院数据库MSSQL Server SQL Server 2008 表值类型参数 阅读

SQL Server 2008 表值类型参数

 2008-09-28 10:07:00 来源:WEB开发网   
核心提示: USE SQL2008DemoGOexecute NewEmployeeMS 1,'John McLean','JohnMcLean@contoso.com'execute NewEmployeeMS 2,'Bob Smith','B

USE SQL2008Demo
GO
execute NewEmployeeMS 1,'John McLean','JohnMcLean@contoso.com'
execute NewEmployeeMS 2,'Bob Smith','BobSmith@contoso.com'
execute NewEmployeeMS 3,'Ted Connery','TedConnery@contoso.com'

查看并选中 下列代码并点击Execute:

USE SQL2008Demo
select * from dbo.Employee;
GO

注意: 以上解决方案的缺点在于:

1.使用了太多的与服务器的往返行程

2.存储过程需要多次重复执行

3.低效的代码执行

使用本地临时表插入数据

查看并选中 下列代码并点击Execute:

USE SQL2008DEMO
GO
Truncate table dbo.Employee
查看并选中 下列代码并点击Execute:

USE SQL2008Demo
GO
CREATE PROCEDURE NewEmployeeTempTable
As
BEGIN
 INSERT INTO dbo.Employee
 SELECT * FROM #EmployeeTempTable
ENDINSERT INTO dbo.Employee
values(
@EmpID, @EmpName, @EmpEmail)
END

查看并选中 下列代码并点击Execute:

USE SQL2008Demo
GO
CREATE TABLE dbo.#EmployeeTempTable(
EmpID int NOT NULL,
EmpName nvarchar(100) NOT NULL,
EmpEmail nvarchar(100) NOT NULL)
Go

注意: 这种临时表是在运行在客户端进行创建,这将会导致在客户端没有定义的情况下,服务器端的存储过程将会执行失败。

查看并选中 下列代码并点击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')

上一页  1 2 3 4  下一页

Tags:SQL Server 类型

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接