CREATE PROCEDURE dbo.proc_ICClosed AS BEGIN DECLARE @FValue int SELECT @FValue = FValue FROM t_SystemProfile WHERE FKey = 'ICClosed' RETURN @FValue END GO 郭少锋编辑 2023-03-04 13:10:54创建 2023-02-28 22:28:05SQLSQL : SQL 排序SQL : SQL 排序 --1:先建一张临时表如下
SELECT sysserialno,cserialno FROM #table2 (NOLOCK) WHERE sysserialno IN ('YD04DJSA','YD04DJMD','YD04DJLG') ORDER BY sysserialno
--3:所查信息自动生成序号
SELECT ROW_NUMBER () OVER (ORDER BY sysserialno) AS seqno,sysserialno,cserialno FROM #table2 (NOLOCK) WHERE sysserialno IN ('YD04DJSA','YD04DJMD','YD04DJLG') ORDER BY sysserialno
--4:根据组别来排序生成编号项序
SELECT DENSE_RANK() OVER (ORDER BY sysserialno/*←这里放什么就是根据什么来排序生成编号项序*/) AS seqno,sysserialno,cserialno FROM #table2 (NOLOCK) WHERE sysserialno IN ('YD04DJSA','YD04DJMD','YD04DJLG') ORDER BY sysserialno
--5:根据多个组别来排序生成编号项序
SELECT RANK() OVER(PARTITION BY sysserialno /*←这里放什么就是根据这里来编号*/ORDER BY cserialno/*←这里有多少笔数目就生成多少个编号*/) AS cserialno_seqno,sysserialno,cserialno FROM #table2 (NOLOCK) WHERE sysserialno IN ('YD04DJSA','YD04DJMD','YD04DJLG') ORDER BY sysserialno
--6:下面是串起来的查询
SELECT ROW_NUMBER () OVER (ORDER BY sysserialno,cserialno) AS seqno, DENSE_RANK () OVER (ORDER BY sysserialno ) AS sysserialno_seqno , sysserialno, RANK() OVER(PARTITION BY sysserialno ORDER BY cserialno ) AS cserialno_seqno,cserialno FROM #table2 (NOLOCK) WHERE sysserialno IN ('YD04DJSA','YD04DJMD','YD04DJLG') ORDER BY sysserialno 郭少锋创建 2023-03-04 11:58:10SQLSQL : SQL 事务 set implicit_transactions on SQL : SQL 事务 set implicit_transactions on 一 spid 60 set implicit_transactions on select @@TRANCOUNT--值为0 update testtable set c1=11 where id=1 select @@TRANCOUNT--值为1, select * from testtable with(readpast)--且id为1的记录已成功修改为11,但没有commit则仍锁定该记录,但在同一spid可查询到已被修改 select @@TRANCOUNT--值为1 commit --提交修改 select @@TRANCOUNT--提交后值为1 rollback --没有回滚的transaction,报错"The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION." select @@TRANCOUNT--值为0
二 spid 63 set implicit_transactions off select @@TRANCOUNT--值为0 update testtable set c1=11 where id=1 select @@TRANCOUNT--值为0 select * from testtable--id为1的记录已成功修改为11 select @@TRANCOUNT--值为0 rollback--不能回滚,报错"The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION."