CREATE DATABASE fuxi12USE fuxi12--车辆信息CREATE TABLE Car( ID INT PRIMARY KEY IDENTITY, --主键 CarName VARCHAR(80), --车名 CarPinPaiID VARCHAR(50), --品牌id CarTypeID VARCHAR(50), --车型 CarTyoeID2 VARCHAR(50), --车型2 CarImg VARCHAR(500), --车辆图片 CarRemark VARCHAR(500), --车辆描述 CarXingShi VARCHAR(100), --车辆形式 CarQuDong VARCHAR(100), --车辆驱动 CarFaDongJi VARCHAR(100), --发动机 CarZhouJu VARCHAR(100), --车辆轴距 CarPaiLiang VARCHAR(100), --车辆排量 CarZhiLiang INT, --车辆最大质量(KG) CarNiuJu VARCHAR(100), --车辆扭矩 CarZhengBei INT, --整备质量(KG) CarRanYou VARCHAR(50), --车辆燃油类型 CarYouXiang INT, --邮箱容积(L) CarPriceID VARCHAR(50), --价格区间 CarXingTypeID VARCHAR(50), --车型分类 CarGroupID VARCHAR(50), --车型分组 CarZiXun VARCHAR(50), --热线咨询 CarPaiFang VARCHAR(50), --排放标准 CarPrice INT, --市场价 CarXingNum VARCHAR(50), --型号 CarTypeXing VARCHAR(50), --类型 CarBaoYang VARCHAR(50), --保养周期 CarGong VARCHAR(50), --功能类型 CarCreateTime VARCHAR(100), --上市时间 CarBianSuXiang VARCHAR(100), --变速箱 CarLongWidth VARCHAR(50), --长宽高 CarZhanTing VARCHAR(50), --销售展厅 CarChangName VARCHAR(50), --厂家名称 CarChangAddress VARCHAR(50), --厂家地址 CarChangPhone VARCHAR(50), --厂家电话 CarChangRemark VARCHAR(500) --厂家描述)SELECT * FROM dbo.Car--房车品牌CREATE TABLE CarPinPai( ID INT PRIMARY KEY IDENTITY, PinPaiName VARCHAR(50))INSERT INTO carpinpai VALUES ('旅顺房车'),('大众房车'),('红旗房车')SELECT * FROM dbo.CarPinPai
--价格区间CREATE TABLE CarPrice( ID INT PRIMARY KEY IDENTITY, CarPriceName VARCHAR(50))INSERT INTO dbo.CarPrice VALUES ('10万以下'),('11-20万'),('21-30万')SELECT * FROM dbo.CarPrice
--车辆分类CREATE TABLE CarXingType( ID INT PRIMARY KEY IDENTITY, CaeXingName VARCHAR(50))INSERT INTO dbo.CarXingType VALUES('小级车'),('中级车'),('高级车')
SELECT * FROM dbo.CarXingType
--车型分组CREATE TABLE CarGroup( ID INT PRIMARY KEY IDENTITY, CarGroupName VARCHAR(50))INSERT INTO CarGroup VALUES('自行A'),('自行B'),('自行C')SELECT * FROM dbo.CarGroup--图片CREATE TABLE CarImg( ID INT PRIMARY KEY IDENTITY, ImgTitle VARCHAR(50), ImgUlr VARCHAR(500), ImgTypeID INT, ImgTime DATETIME)INSERT INTO dbo.CarImg VALUES ('mingzi','lujing',1,'1995-5-5')CREATE TABLE CarImgType( ID INT PRIMARY KEY IDENTITY, CarImgTypeName VARCHAR(50))INSERT INTO dbo.CarImgType VALUES('车型内饰'),('车型外观')select a.*,b.CarImgTypeName AS CarImgTypeName from CarImg a join CarImgType b on a.ImgTypeID = b.ID
SELECT * FROM dbo.CarPinPaiSELECT * FROM dbo.CarPrice
--增删改存储过程CREATE PROC Car_InsertUpdateDelete( @ID INT , --主键 @CarName VARCHAR(80), --车名 @CarPinPaiID VARCHAR(50), --品牌id @CarTypeID VARCHAR(50), --车型 @CarTyoeID2 VARCHAR(50), --车型2 @CarImg VARCHAR(500), --车辆图片 @CarRemark VARCHAR(500), --车辆描述 @CarXingShi VARCHAR(100), --车辆形式 @CarQuDong VARCHAR(100), --车辆驱动 @CarFaDongJi VARCHAR(100), --发动机 @CarZhouJu VARCHAR(100), --车辆轴距 @CarPaiLiang VARCHAR(100), --车辆排量 @CarZhiLiang INT, --车辆最大质量(KG) @CarNiuJu VARCHAR(100), --车辆扭矩 @CarZhengBei INT, --整备质量(KG) @CarRanYou VARCHAR(50), --车辆燃油类型 @CarYouXiang INT, --邮箱容积(L) @CarPriceID VARCHAR(50), --价格区间 @CarXingTypeID VARCHAR(50), --车型分类 @CarGroupID VARCHAR(50), --车型分组 @CarZiXun VARCHAR(50), --热线咨询 @CarPaiFang VARCHAR(50), --排放标准 @CarPrice INT, --市场价 @CarXingNum VARCHAR(50), --型号 @CarTypeXing VARCHAR(50), --类型 @CarBaoYang VARCHAR(50), --保养周期 @CarGong VARCHAR(50), --功能类型 @CarCreateTime VARCHAR(100), --上市时间 @CarBianSuXiang VARCHAR(100), --变速箱 @CarLongWidth VARCHAR(50), --长宽高 @CarZhanTing VARCHAR(50), --销售展厅 @CarChangName VARCHAR(50), --厂家名称 @CarChangAddress VARCHAR(50), --厂家地址 @CarChangPhone VARCHAR(50), --厂家电话 @CarChangRemark VARCHAR(500), --厂家描述 @DataTable_Action_ varchar(10)='' --操作方法 insert:添加 update:修改 delete:删除 )AS DECLARE @ReturnValue VARCHAR(20) --返回操作结果SET @ReturnValue=-1 --开启事务 BEGIN TRAN --异常处理 BEGIN TRY --添加 IF(@DataTable_Action_='Insert') BEGIN INSERT INTO dbo.Car ( ID , CarName , CarPinPaiID , CarTypeID , CarTyoeID2 , CarImg , CarRemark , CarXingShi , CarQuDong , CarFaDongJi , CarZhouJu , CarPaiLiang , CarZhiLiang , CarNiuJu , CarZhengBei , CarRanYou , CarYouXiang , CarPriceID , CarXingTypeID , CarGroupID , CarZiXun , CarPaiFang , CarPrice , CarXingNum , CarTypeXing , CarBaoYang , CarGong , CarCreateTime , CarBianSuXiang , CarLongWidth , CarZhanTing , CarChangName , CarChangAddress , CarChangPhone , CarChangRemark ) VALUES ( @ID , @CarName , @CarPinPaiID , @CarTypeID , @CarTyoeID2 , @CarImg , @CarRemark , @CarXingShi , @CarQuDong , @CarFaDongJi , @CarZhouJu , @CarPaiLiang , @CarZhiLiang , @CarNiuJu , @CarZhengBei , @CarRanYou , @CarYouXiang , @CarPriceID , @CarXingTypeID, @CarGroupID , @CarZiXun , @CarPaiFang , @CarPrice , @CarXingNum , @CarTypeXing , @CarBaoYang , @CarGong , @CarCreateTime, @CarBianSuXiang, @CarLongWidth , @CarZhanTing , @CarChangName , @CarChangAddress, @CarChangPhone , @CarChangRemark ) SELECT @ReturnValue=SCOPE_IDENTITY() END --删除 IF(@DataTable_Action_='Delete') BEGIN DELETE dbo.Car WHERE ID=@ID SET @ReturnValue=@@ROWCOUNT END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH SELECT @ReturnValueexec [commonPagination] @columns,@tableName,@orderColumnName,@order,@where,@pageIndex,@pageSize,@pageCount OUTPUT
--通用存储过程create PROCEDURE [dbo].[commonPagination] @columns varchar(500), --要显示的列名,用逗号隔开 @tableName varchar(100), --要查询的表名 @orderColumnName varchar(100), --排序的列名 @order varchar(50), --排序的方式,升序为asc,降序为 desc @where varchar(100), --where 条件,如果不带查询条件,请用 1=1 @pageIndex int, --当前页索引 @pageSize int, --页大小(每页显示的记录条数) @pageCount int out --总页数,输出参数 as begin declare @sqlRecordCount nvarchar(1000) --得到总记录条数的语句 declare @sqlSelect nvarchar(1000) --查询语句 set @sqlRecordCount=N'select @recordCount=count(*) from ' +@tableName + ' where '+ @where declare @recordCount int --保存总记录条数的变量 exec sp_executesql @sqlRecordCount,N'@recordCount int output',@recordCount output --动态 sql 传参 if( @recordCount % @pageSize = 0) --如果总记录条数可以被页大小整除 set @pageCount = @recordCount / @pageSize --总页数就等于总记录条数除以页大小 else --如果总记录条数不能被页大小整除 set @pageCount = @recordCount / @pageSize + 1 --总页数就等于总记录条数除以页大小加1 set @sqlSelect = N'select '+@columns+' from ( select row_number() over (order by ' +@orderColumnName+' '+@order +') as tempid,* from ' +@tableName+' where '+ @where +') as tempTableName where tempid between ' +str((@pageIndex - 1)*@pageSize + 1 ) +' and '+str( @pageIndex * @pageSize) exec (@sqlSelect) --执行动态Sql end
转载于:https://www.cnblogs.com/Wangyang11/p/10003556.html