SQL SERVER 2008 表值参数
/*
SQL SERVER 2008 表值参数
SQL SERVER 引入了抗议用来将行集传入到存储过程和用户定义函数的表值参数.
这个功能可以使存储过程和函数具有封装多个行集的功能,而不是必须一行一行地调
数据修改过程和穿件多个输入参数来生硬的转化为多行.
我们在应用中经常用到的插入时把代码封装到存储过程中。
*/
CREATE DATABASE TESTDB
USE TESTDB
GO
CREATE TABLE USERINFO(USERID INT,USERNAME NVARCHAR(50))
GO
CREATE PROC USP_INSERT_USERINFO
@ID INT,
@NAME NVARCHAR(50)
AS
INSERT USERINFO
VALUES(@ID,@NAME)
GO
/*
上面的环境建立好后,如果我们需要向表中插入行数,就需要调用次这个
存储过程。在大多数情况下这样的情况是可以接受的,如果你经常需要一次插入多
条。那么就可以用中新增的表值参数类型,可以将要插入的数据传入到表值参
数中,然后通过表值参数一次性插入的表中。
下面演示该参数类型。
*/
--要使用表值参数,首先要定义用户定义表数据类型。
CREATE TYPE T_USERINFO AS TABLE
(USERID INT,
USERNAME NVARCHAR(50)
)
GO
--下面可以对上面的过程USP_INSERT_USERINFO进行修改。
CREATE PROC USP_INSERT_USERINFO_NEW
@USERINFO T_USERINFO READONLY --必须使用READONLY 选项声明表值参数
AS
INSERT USERINFO
&nbs
相关文档:
原始数据
TERMINAL_ID
MAXDATE
TERMINAL_ID
OCCUR_DATE_TIME
TROUBLE_CD
1
12345
20100401102754
12345
20100401102754
210
2
12345
20100401102754
12345
20100401102754
211
3
12345
20100401102754
12345
20100401102754
?09
......
1 :普通SQL语句可以用Exec执行
例: Select * from tableName
Exec('select * from tableName')
& ......
select
WorksheetID,worker,WorkDate,merchantName ,merchantNo ,manager
, case when insCount>0 then '新装' else '' end InsStr
,case when repCount>0 then '换装' else '' end RepStr
,case when UnInsCount>0 then '撤机' else '' end UnInsStr
,case when FaultCount>0 then '故障处理' els ......
1、查看当前数据库的状态
SELECT
DATABASEPROPERTY
('pubs'
,'IsFulltextEnabled'
)
2、打开FullText功能
sp_fulltext_databse
'enable'
关闭此功能
& ......
数据库性能调优是每一个优秀SQL Server管理员最终的责任。虽然保证数据的安全和可用性是我们的最高的目标,但是假如数据库应用程序无法满足用户的要求,那么DBA们会因为性能低下的设计和实现而受到指责。SQL Server 2005在数据库性能方面得到了很多提高,尤其是表分区的技术。如果你还没不了解表分区的特征,那么请你花点 ......