| 您的当前位置:首页 --> MSSQL教程 |
| SQL 特殊语句(学习笔记) |
| 浏览次数:832 关键词 ( ) |
|
【1】 以XML 返回 (1)未定义属性的 select logisticsId,logisticsName from LogisticsCompany for xml auto,elements (2)定义属性节的 复制代码 代码如下: SELECT TOP 21 AS Tag, NULL AS Parent, title_id AS [titles!1!title_id], title AS [titles!1!title!element], type AS [titles!1!type] FROM titles FOR XML EXPLICIT 【2】处理大批量数据的添加 复制代码 代码如下: CREAT PROCEDURE [dbo].[Sp_DB_InsertBatch] ( @LogXml NVARCHAR(MAX), @LastTime DATETIME, @CurrentTime DATETIME ) AS BEGIN BEGIN TRAN BEGIN TRY --使用OPENXML()需要一个准备动作: --定义一个文档指针@XMLHandler,类型为int(SP_XML_PREPAREDOCUMENT)。 --使用完后还需要把它释放掉(SP_XML_REMOVEDOCUMENT) DECLARE @XMLHandler INT; --OPENXML()本身返回一个行集,并且需要3个参数和一组列映射定义。 --预先准备好的文档指针@XMLHandler,搜索路径起点,映射标志。 EXEC SP_XML_PREPAREDOCUMENT @XMLHandler OUTPUT,@LogXml; INSERT INTO [dbo].[DBRate] ([RateID] ,[LastModifyTime] ,[LastTime] ,[CurrentTime]) SELECT [RateID] ,[LastModifyTime] ,@LastTime ,@CurrentTime FROM OPENXML(@XMLHandler,'/DB/DBRate',2) WITH( RateID INT ,LastModifyTime DATETIME ) --释放掉(SP_XML_REMOVEDOCUMENT) EXEC SP_XML_REMOVEDOCUMENT @XMLHandler; COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END 【3】转换类型 复制代码 代码如下: select convert(int,'100.1') select cast('100' as int) 截取并替换其他字符 select stuff('1347097110',5,6,'*******') 获取ID为4附近的四条数据 select top 4 * from Student order by abs(4-id) 分组获取 select * from (select Row_Number() Over(partition by sex order by ID) as rowindex,* from Student) a where rowindex<5 联表删除数据 deletefrom Souce from Souce inner join Student on Souce.sid = Student.id |
| 下载次数:6 |
| 下载地址:点击下载 |
| 本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@ |
| 下一条 Sqlserver事务备份和还原的实例代码(必看) 上一条 sqlserver中重复数据值只取一条的sql语句 |