
SQL_存储过程
shinlgienls
这个作者很懒,什么都没留下…
展开
-
PARTITION
SELECT [TicketPlaneID] ,[PlaneProID] ,[TicketPlaneTime] ,[OrderID], Row_number() over(PARTITION BY TicketPlaneTime ORDER BY TicketPlaneTime ) FROM [TicketOrderListTable] where orderi原创 2008-10-23 11:46:00 · 565 阅读 · 0 评论 -
@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT【通俗易懂】
SQLServer中@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的作用相同点:它们都返回插入到IDENTITY列中的值。不同点: A. @@IDENTITY不受作用域(存储过程、触发器、函数或批处理)的限制。返回最后一个插入的IDENTITY值。如果在程序中不同的作用域插入的表不同,那么返回最后一个表插入的IDENTITY值。例原创 2008-12-10 12:14:00 · 635 阅读 · 0 评论 -
简单事务应用
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROCEDURE [dbo].[Op_InsertProduct_Order]ASBEGINdeclare @error_1 int,@error_2 int,@tempIdentity int begin tran insert into OP_ProductTable (Product原创 2008-12-03 21:33:00 · 518 阅读 · 0 评论 -
存储过程中表变量和临时表的建立【code】,和区别【理论】
个人观点: 1、表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。 2、临时表缺省使用硬盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用TEMPDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配合适的空间,然后原创 2008-12-03 22:08:00 · 761 阅读 · 0 评论 -
取sql数据库中字段null方法
1、根据标量函数求 select [id] from table where isnull(Name,)= 2、 select [id] from table where [Name] is null原创 2008-11-25 15:17:00 · 775 阅读 · 0 评论 -
标量函数获取时间
DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期该年的第一天或最后一天--A. 年的第一天SELECT CONVERT(char(5),@dt,120)+1-1--B. 年的最后一天SELECT CONVERT(char(5),@dt,120)+12-31--2.指定原创 2008-11-24 11:57:00 · 555 阅读 · 0 评论 -
sql合并字段
1、使用 SELECT CAST(Auto_ID AS varchar) + CAST(iPeriod AS varchar)+ convert(varchar(23), dRegDate,120) as NewCouFROM Ap_Detail convert(varchar(23), dRegDate,120) --120是一种时间格式(年月日 小时分钟秒原创 2008-11-24 11:25:00 · 2093 阅读 · 0 评论 -
SQL LIKE 通配符
通配符 说明 _ 与任意单字符匹配 % 与包含一个或多个字符的字符串匹配 [ ] 与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。 [^] 与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。 例子: WHERE FirstName LIKE _im 可以找到所有三个字母的、以 im 结尾的名字(原创 2008-11-21 09:47:00 · 615 阅读 · 0 评论 -
事务在存储过程中的应用
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROCEDURE [dbo].[usertest]@username nvarchar(1000),@pwd int ASdeclare @newid intBEGINif(@pwd>0)begin begin transaction Insert into usertable (usernam原创 2008-11-10 21:53:00 · 645 阅读 · 0 评论 -
优快云 Copy 【处理表重复记录(查询和删除)】
--处理表重复记录(查询和删除)/******************************************************************************************************************************************************1、Num、Name相同的重复值记录,没有大小关系只保留一条2、N转载 2008-11-07 16:38:00 · 539 阅读 · 0 评论 -
Convert 与转化时间有关的实例
使用 CONVERT:CONVERT (data_type[(length)], expression [, style])select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),/-/,原创 2008-11-07 16:34:00 · 574 阅读 · 0 评论 -
row_number(),dense_rank(),rank(),Over,Pivot用法说明
row_number() over(order by column1) +1递增返回行号 dense_rank() over(order by column1) 同数量等级的数据返回相同名次,下级数量等级的排名为上级数量等级的排名+1 rank() over(order by column1) 同数量等级的数据返回相同名次,下级数量等级的排名为上级所有数据总数+1 语法 functi转载 2008-10-09 11:52:00 · 827 阅读 · 0 评论 -
sql存储过程 游标 循环表 guoyz_1
--2009年5月15日21:57:33--游标实例 利用游标循环表 根据userid赋值alter PROCEDURE CURSOR_EG1ASBEGINdeclare @a int,@error int declare @temp varchar(50)--临时变量,用来保存游标值set @a=1 set @error=0BEGIN TRAN --申明事务原创 2009-05-15 23:25:00 · 5254 阅读 · 3 评论