SQLServer 常用存储过程集锦
来源:互联网 发布:淘宝家具排名 编辑:程序博客网 时间:2024/05/16 15:52
=================分页==========================
/*分页查找数据*/
CREATE PROCEDURE [dbo].[GetRecordSet]
@strSql varchar(8000),--查询sql,如select * from [user]
@PageIndex int,--查询当页号
@PageSize int--每页显示记录
AS
set nocount on
declare @p1 int
declare @currentPage int
set @currentPage = 0
declare @RowCount int
set @RowCount = 0
declare @PageCount int
set @PageCount = 0
exec sp_cursoropen @p1 output,@strSql,@scrollopt=1,@ccopt=1,@rowcount=@rowCount output --得到总记录数
select @PageCount=ceiling(1.0*@rowCount/@pagesize) --得到总页数
,@currentPage=(@PageIndex-1)*@PageSize+1
select @RowCount,@PageCount
exec sp_cursorfetch @p1,16,@currentPage,@PageSize
exec sp_cursorclose @p1
set nocount off
GO
=========================用户注册============================
/*
用户注册,也算是添加吧
*/
Create proc [dbo].[UserAdd]
(
@loginID nvarchar(50), --登录帐号
@password nvarchar(50), --密码
@email nvarchar(200) --电子信箱
)
as
declare @userID int --用户编号
--登录账号已经被注册
if exists(select loginID from tableName where loginID = @loginID)
begin
return -1;
end
--邮箱已经被注册
else if exists(select email from tableName where email = @email)
begin
return -2;
end
--注册成功
else
begin
select @userID = isnull(max(userID),100000)+1 from tableName
insert into tableName
(userID,loginID,[password],userName,linkNum,address,email,createTime,status)
values
(@userID,@loginID,@password,'','','',@email,getdate(),1)
return @userID
end
===================阿拉伯数字转大写中文=============
例:输入12345,程序给出:壹万贰仟叁佰肆拾伍
例:输入10023040,程序给出:壹仟另贰万叁仟另肆拾
解决方案之一(在SqlServer2000中测试通过):
SQL code
CREATE FUNCTION fun_cgnum
(@num INT)
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @temp INT,@res INT,@i TINYINT
DECLARE @str VARCHAR(100),@no VARCHAR(20),@unit VARCHAR(16)
SELECT @str='',@no='另壹贰叁肆伍陆柒捌玖',@unit='拾佰仟万拾佰仟亿'
SET @temp=@num
SELECT @i=0,@res=@temp%10,@temp=@temp/10
WHILE @temp>0
BEGIN
IF @i=0
SET @str=SUBSTRING(@no,@res+1,1)
ELSE
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str
SELECT @res=@temp%10,@temp=@temp/10
SET @i=@i+1
END
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str
SET @str=REPLACE(@str,'另拾','另')
SET @str=REPLACE(@str,'另佰','另')
SET @str=REPLACE(@str,'另仟','另')
SET @str=REPLACE(@str,'另拾','另')
SET @str=REPLACE(@str,'另万','万')
WHILE @i>0
BEGIN
SET @str=REPLACE(@str,'另另','另')
SET @i=CHARINDEX('另另',@str)
END
SET @str=REPLACE(@str,'另万','万')
SET @str=REPLACE(@str,'亿万','亿')
IF RIGHT(@str,1)='另'
SET @str=LEFT(@str,LEN(@str)-1)
RETURN @str
END
GO
--测试:有0和没有0的情况
SELECT dbo.fun_cgnum(900000000),dbo.fun_cgnum(903002051),dbo.fun_cgnum(903002050)
- sqlserver 常用存储过程集锦
- SQLServer 常用存储过程集锦
- sqlserver存储过程集锦
- 常用存储过程集锦
- 常用存储过程集锦
- 常用存储过程集锦
- 常用存储过程集锦
- 常用存储过程集锦
- 常用sql存储过程集锦
- 常用sql存储过程集锦
- Mssql常用存储过程集锦
- sqlserver存储过程集锦(一)
- sqlserver存储过程集锦(二)
- sqlserver常用系统存储过程
- SQLServer常用系统存储过程
- sqlserver常用函数/存储过程/数据库角色
- sqlserver常用函数/存储过程/数据库角色
- sqlserver常用函数/存储过程/数据库角色
- c++网址
- 英语词根记忆法2
- JAVA集合和数组的区别?
- Jar软件破解方法
- 英语词根记忆法3
- SQLServer 常用存储过程集锦
- UNIX系统中wait函数族和SIGCHLD信号的关系(转)
- 嵌入式程序员应知道的几个基本问题
- Struts自动登陆复选框
- 今天
- Delphi中文件流的使用方法
- 0-99的不重复乱序排列数组
- CZK
- WRK开发调试环境搭建