锡盟建设工程造价工程管理网站,网站用什么语言做会比较好,90设计网怎么样,微信小程序双人游戏情侣今天写几个存储过程#xff0c;觉得有这个必要记录下来#xff0c;方便以后忘了也好有个备份#xff0c;都很简单#xff0c;高手可以不用看的。一、记录的插入--region [dbo].[InsertArchive]--------------------------------------------------------------------------…今天写几个存储过程觉得有这个必要记录下来方便以后忘了也好有个备份都很简单高手可以不用看的。 一、记录的插入--region [dbo].[InsertArchive]-------------------------------------------------------------------------------------------------------------------------- Generated By: wangzeng using CodeSmith 4.0.0.0-- Template: StoredProcedures.cst-- Procedure Name: [dbo].[InsertArchive]-- Date Generated: 2007年11月28日--------------------------------------------------------------------------------------------------------------------------插入档案记录ALTER PROCEDURE [dbo].[InsertArchive] Name varchar(50), Sex int, PostID int, OrgID int, WorkTypeID varchar(20), ArchivesID int OUTPUTAS--SET NOCOUNT ONINSERT INTO [dbo].[Archives] ( [Name], [Sex], [PostID], [OrgID], [WorkTypeID]) VALUES ( Name, Sex, PostID, OrgID, WorkTypeID)SET ArchivesID SCOPE_IDENTITY()--endregion 二、动态查询这个是由codesmit生成的然后稍微改了点条件可以任意组合--动态查询定单ALTER PROCEDURE [dbo].[SelectOrdersDynamic] WhereCondition nvarchar(500), OrderByExpression nvarchar(250) NULLASSET NOCOUNT ONSET TRANSACTION ISOLATION LEVEL READ COMMITTEDDECLARE SQL nvarchar(3250)SET SQL SELECT [ID], [OrderID], Orders.SupplierCode, SupplierName, AddDatecase when Orders.AddDate1900-1-1 then convert(nvarchar,year(Orders.AddDate))-convert(nvarchar,month(Orders.AddDate))-convert(nvarchar,day(Orders.AddDate)) else end, ClaimDatecase when ClaimDate1900-1-1 then convert(nvarchar,year(ClaimDate))-convert(nvarchar,month(ClaimDate))-convert(nvarchar,day(ClaimDate)) else end, FactDatecase when FactDate1900-1-1 then convert(nvarchar,year(FactDate))-convert(nvarchar,month(FactDate))-convert(nvarchar,day(FactDate)) else end, [Lister], [Assessor], [Validate], [Auditing], [Perform], [IsClose], ValidateStatecase when Validate1 then 是 when Validate0 then 否 end, AuditingStatecase when Auditing1 then 是 when Auditing0 then 否 end, PerformStatecase when Perform0 then 未执行 when Perform1 then 执行中 when Perform2 then 执行完成 end, IsCloseStatecase when IsClose1 then 关闭 when IsClose0 then 正常 end, ValidateUrlcase when Validate0 then OrderDetail.aspx?OrderIDOrderID else end, ValidateCsscase when Validate0 then bluelink else nolink end, ShipmentUrlcase when Perform1 then Shipment.aspx?OrderIDOrderID else end, ShipmentCsscase when Perform1 then bluelink else nolink end, SupplierName, 0 as TotalMaterialNum, 0 as LackMaterialNum, 0.0 as TotalMoney, PayMode, Remark, Orders.OtherValueFROM Orders left join Supplier on Orders.SupplierCodeSupplier.SupplierCodeWHERE WhereConditionIF OrderByExpression IS NOT NULL AND LEN(OrderByExpression) 0BEGIN SET SQL SQL ORDER BY ID desc--OrderByExpressionENDEXEC sp_executesql SQL 三、修改记录这个存储过程这么写主要是为了修改的时候方便因为如果你不要修改的地方就不要传参数传统的存储过程是把原来的参数重传一次这个灵活点。--修改定单信息ALTER PROCEDURE [dbo].[UpdateOrder] OrderID varchar(200), SupplierCode varchar(200), AddDate datetime, ClaimDate datetime, FactDate datetime, Lister varchar(50), Assessor varchar(50), Validate int, Auditing int, Perform int, IsClose int, PayMode varchar(50), Remark nvarchar(500), OtherValue varchar(50)AS--SET NOCOUNT ONdeclare SQL nvarchar(1000)set SQLUPDATE Orders if(len(SupplierCode)0)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,SupplierCodeconvert(varchar(200),SupplierCode) end else begin set SQLSQL set SupplierCodeconvert(varchar(200),SupplierCode) endendif(AddDate1900-1-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,AddDateconvert(varchar,AddDate) end else begin set SQLSQL set AddDateconvert(varchar,AddDate) endendif(ClaimDate1900-1-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,ClaimDateconvert(varchar,ClaimDate) end else begin set SQLSQL set ClaimDateconvert(varchar,ClaimDate) endendif(FactDate1900-1-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,FactDateconvert(varchar,FactDate) end else begin set SQLSQL set FactDateconvert(varchar,FactDate) endendif(len(Lister)0)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,Listerconvert(varchar,Lister) end else begin set SQLSQL set Listerconvert(varchar,Lister) endendif(len(Assessor)0)begin if(len(SQL)len(UPDATE Orders set )) begin if Assessornull begin set Assessor end set SQLSQL,Assessorconvert(varchar,Assessor) end else begin if Assessornull begin set Assessor end set SQLSQL set Assessorconvert(varchar,Assessor) endendif(cast(Validate as int)-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,Validateconvert(varchar,Validate) end else begin set SQLSQL set Validateconvert(varchar,Validate) endendif(cast(Auditing as int)-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,Auditingconvert(varchar,Auditing) end else begin set SQLSQL set Auditingconvert(varchar,Auditing) endendif(cast(Perform as int)-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,Performconvert(varchar,Perform) end else begin set SQLSQL set Performconvert(varchar,Perform) endendif(cast(IsClose as int)-1)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,IsCloseconvert(varchar,IsClose) end else begin set SQLSQL set IsCloseconvert(varchar,IsClose) endendif(len(PayMode)0)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,PayModeconvert(varchar,PayMode) end else begin set SQLSQL set PayModeconvert(varchar,PayMode) endendif(len(convert(nvarchar,Remark))0)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,Remarkconvert(nvarchar(500),Remark) end else begin set SQLSQL set Remarkconvert(nvarchar(500),Remark) end --update Orders set RemarkRemark where OrderIDOrderIDendif(len(OtherValue)0)begin if(len(SQL)len(UPDATE Orders set )) begin set SQLSQL,OtherValueconvert(varchar,OtherValue) end else begin set SQLSQL set OtherValueconvert(varchar,OtherValue) endendset SQLSQL where OrderIDconvert(nvarchar(200),OrderID)print SQLexec(SQL)if(len(SupplierCode)0)begin update Supplier set LastUseDategetdate() where SupplierCodeSupplierCode --没有统计修改的次数因为修改时经常是同一个供应商end/**//*UPDATE [dbo].[Orders] SET [SupplierCode] SupplierCode, [AddDate] AddDate, [ClaimDate]ClaimDate, [FactDate] FactDate, [Lister] Lister, [Assessor] Assessor, [Validate] Validate, [Auditing] Auditing, [Perform] PerformWHERE [OrderID] OrderID*/ 转载于:https://www.cnblogs.com/ringwang/archive/2007/12/14/994828.html