`
floger
  • 浏览: 213291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

存储过程的使用

阅读更多

=================分页========================== 
/*分页查找数据*/ 

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 

==========================sql server系统存储过程=================== 
–1.给表中字段添加描述信息 
Create table T2 (id int , name char (20)) 
GO 
EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', T2, 'column', id 

EXEC sp_updateextendedproperty 'MS_Description', 'this is a test', 'user', dbo, 'table', T2, 'column', id 

–2.修改数据库名称 
EXEC sp_renamedb 'old_db_name', 'new_db_name' 

–3.修改数据表名称和字段名称 
EXEC sp_rename 'old_table_name', 'new_table_name'–修改数据表名称 
EXEC sp_rename 'table_name.[old_column_name]', 'new_column_name', 'COLUMN'–修改字段名称 

–4.给定存储过程名,获取存储过程内容 
exec sp_helptext sp_name 

/*以下是有关安全控制的系统存储过程或 SQL 语句,详细语法查阅《联机丛书》相关内容*/ 

–创建新的 SQL Server 登录,使用户得以连接使用 SQL Server 身份验证的 SQL Server。 
EXEC sp_addlogin @loginame = '', @passwd = '', @defdb = '', @deflanguage = NULL, @sid = NULL, @encryptopt = NULL 
–使 Windows NT 用户或组帐户得以使用 Windows 身份验证连接到 SQL Server。 
EXEC sp_grantlogin @loginame = '' 

–删除 SQL Server 登录,以阻止使用该登录名访问 SQL Server。 
EXEC sp_droplogin @loginame = '' 
–阻止 Windows NT 用户或组连接到 SQL Server。 
EXEC sp_denylogin @loginame = '' 
–从 SQL Server 中删除用 sp_grantlogin 或 sp_denylogin 创建的 Windows NT 用户或组的登录项。 
EXEC sp_revokelogin @loginame = '' 

–更改登录的默认数据库。 
EXEC sp_defaultdb @loginame = '', @defdb = '' 
–更改登录的默认语言。 
EXEC sp_defaultlanguage @loginame = '', @language = '' 
–添加或更改 SQL Server 登录密码。 
EXEC sp_password @old = '', @new = '', @loginame = '' 

–添加服务器角色新成员。 
EXEC sp_addsrvrolemember @loginame = '', @rolename = '' 
–添加服务器角色某成员。 
EXEC sp_dropsrvrolemember @loginame = '' , @rolename = '' 

–为 SQL Server 登录或 Windows NT 用户或组在当前数据库中添加一个安全帐户,并使其能够被授予在数据库中执行活动的权限(授予默认的“public”数据库角色)。 
EXEC sp_grantdbaccess @loginame = '', @name_in_db = NULL 
–或 
EXEC sp_adduser @loginame = '', @name_in_db = NULL, @grpname = '' 

–从当前数据库中删除安全帐户。 
EXEC sp_revokedbaccess @name_in_db = '' 
–或 
EXEC sp_dropuser @name_in_db = '' 

–在当前数据库创建新数据库角色。 
EXEC sp_addrole @rolename = '', @ownername = '' 
–在当前数据库删除某数据库角色。 
EXEC sp_droprole @rolename = '' 

–在当前数据库中添加数据库角色新成员。 
EXEC sp_addrolemember @rolename = '', @membername = '' 
–在当前数据库中删除数据库角色某成员。 
EXEC sp_droprolemember @rolename = '', @membername = '' 

–权限分配给数据库角色、表、存储过程等对象 
–1、授权访问 
GRANT 
–2、拒绝访问 
DENY 
–3、取消授权或拒绝 
REVOKE 
–4、Sample(pubs): 
GRANT SELECT ON authors TO Limperator 
DENY SELECT ON authors TO Limperator 
REVOKE SELECT ON authors TO Limperator 
 返回来也贴一个常用的
SQL codeSQL函数取汉字拼音首字母

create function comm_getpy
( 
    @str nvarchar(4000) 
) 
returns nvarchar(4000) 
as 
begin

declare @word nchar(1),@PY nvarchar(4000)

set @PY=''

while len(@str)>0 
begin 
    set @word=left(@str,1)

    --如果非汉字字符,返回原字符 
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 
               then ( 
                            select top 1 PY 
                            from 
                            ( 
                             select 'A' as PY,N'驁' as word 
                             union all select 'B',N'簿' 
                             union all select 'C',N'錯' 
                     union all select 'D',N'鵽' 
                     union all select 'E',N'樲' 
                     union all select 'F',N'鰒' 
                     union all select 'G',N'腂' 
                     union all select 'H',N'夻' 
                     union all select 'J',N'攈' 
                     union all select 'K',N'穒' 
                     union all select 'L',N'鱳' 
                     union all select 'M',N'旀' 
                     union all select 'N',N'桛' 
                     union all select 'O',N'漚' 
                     union all select 'P',N'曝' 
                     union all select 'Q',N'囕' 
                     union all select 'R',N'鶸' 
                     union all select 'S',N'蜶' 
                     union all select 'T',N'籜' 
                     union all select 'W',N'鶩' 
                     union all select 'X',N'鑂' 
                     union all select 'Y',N'韻' 
                     union all select 'Z',N'咗' 
                      ) T 
                   where word>=@word collate Chinese_PRC_CS_AS_KS_WS 
                   order by PY ASC 
                          ) 
                      else @word 
                 end) 
    set @str=right(@str,len(@str)-1) 
end 
return @PY 
end

 
分享到:
评论

相关推荐

    ASP存储过程使用大全

    ### ASP存储过程使用大全 #### 一、概述 在ASP(Active Server Pages)环境中使用存储过程可以极大地提高数据处理效率及安全性。存储过程是预先编译好的SQL代码块,存储在数据库服务器上,通过参数调用执行特定...

    oracle存储过程使用详解

    ### Oracle存储过程使用详解 在Oracle数据库环境中,存储过程是一种重要的数据库对象,它允许开发者将一组SQL语句和控制流程语句封装在一个命名单元中,从而实现更复杂、更高效的数据处理逻辑。本文将深入探讨...

    SQLSERVER存储过程使用

    【SQLSERVER存储过程使用】 SQLSERVER的存储过程是一种预编译的SQL代码集合,它可以被存储在数据库中并带有特定的名称,以便后续调用执行。存储过程的主要优点在于其性能提升和代码重用性。因为存储过程在首次创建...

    【精华志】超详细Oracle存储过程使用手册

    本手册“【精华志】超详细Oracle存储过程使用手册”深入探讨了这一主题,旨在帮助C#、ASP.NET开发者以及SQL和DBA专家更好地理解和应用存储过程。 1. **存储过程的概念与优势** - 存储过程是预编译的SQL和PL/SQL...

    SQL存储过程试题及答案

    这个存储过程使用了一个参数`@课程名`,它将被用于过滤成绩表中的数据。然后,我们可以使用以下语句来调用这个存储过程: ```sql execute aa '001' ``` 这将执行存储过程`aa`,并将课程号`001`作为参数传递过去。 2...

    MySQL存储过程的异常处理方法

    首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个分号(;)而不会导致命令提前结束。存储过程的定义如下: ```sql CREATE PROCEDURE ...

    sqlserver 存储过程With Encryption加密的解密

    在SQL Server中,为了保护存储过程中的敏感代码或逻辑,可以使用`WITH ENCRYPTION`选项对存储过程进行加密处理。这可以有效防止未经授权的用户查看存储过程的源代码。然而,在某些情况下,出于维护、调试或者迁移的...

    oracle 事务 回滚 存储过程

    在Oracle中,存储过程使用PL/SQL编写,可以在数据库内部执行,提供高性能和安全性。 ### Oracle事务与存储过程的结合 当在存储过程中使用事务时,可以更精细地控制数据更改的提交或回滚。例如,在给定的部分内容中...

    解密SQL Server2000存储过程(可以选择存储过程查询)

    调用存储过程使用`EXEC`关键字,如`EXEC ProcName value1, value2`。如果存储过程有输出参数,可以在调用后获取返回值。 4. **选择性查询** 在存储过程中,可以通过条件判断来实现选择性查询。例如,可以使用`IF....

    存储过程教程

    4.各种存储过程使用指南 5.ASP中存储过程调用的两种方式及比较 6.SQL存储过程在.NET数据库中的应用 7.使用SQL存储过程要特别注意的问题 1.sql存储过程概述 在大型数据库系统中,存储过程和触发器具有很重要的...

    C#调用oracle方法(包括调用存储过程)

    本文将详细介绍如何使用C#语言连接Oracle数据库,并演示如何调用Oracle存储过程,特别是带有输出参数的情况。这些知识点对于初学者来说尤为重要。 #### 前置知识 1. **C#基础**:理解C#的基本语法和概念。 2. **...

    Java实现调用MySQL存储过程详解

    注意,如果你的存储过程使用了用户定义的变量或会改变当前会话的状态,可能需要使用`DEFINER`或`Invoker Rights`来控制执行权限。在上述的`show procedure status`查询中,`Security_type`列显示为`DEFINER`,这意味...

    存储过程入门教程,适合新手

    创建存储过程使用SQL语句,通常包含定义输入/输出参数、编写SQL语句以及设置返回值等步骤。例如: ```sql CREATE PROCEDURE proc_name (@param1 datatype, @param2 datatype) AS BEGIN -- SQL语句 SELECT * FROM ...

    sql存储过程教程

    #### 四、各种存储过程使用指南 - **用户自定义存储过程**: - 用于实现特定的业务需求。 - 可以接受参数并返回结果集或状态值。 - **系统存储过程**: - 前缀为`sp_`。 - 主要用于管理和维护数据库系统,如查询...

    MySQL 存储过程入门到精通

    在存储过程中,可以使用`IF...ELSE`、`CASE`语句进行条件判断,使用`WHILE`、`REPEAT`进行循环控制,甚至可以使用`DECLARE`声明变量。 六、存储过程的修改与删除 要修改存储过程,使用`ALTER PROCEDURE`;若不再...

    sqlsever存储过程

    在存储过程中可以使用`BEGIN TRANSACTION`, `COMMIT TRANSACTION`和`ROLLBACK TRANSACTION`进行事务控制,确保数据一致性。 十、动态SQL 存储过程内部可以使用`EXEC sp_executesql`执行动态构建的SQL语句,增加灵活...

    简单的 Microsoft Sql Server 存储过程的使用

    2. 删除存储过程使用`DROP PROCEDURE`: ```sql DROP PROCEDURE GetEmployeeById ``` 五、存储过程的参数 存储过程可以接受输入参数、输出参数或两者兼有。输入参数用于传递数据到存储过程,而输出参数则用于从存储...

    sql存储过程帮助文档

    执行存储过程使用`CALL`语句: ```sql CALL procedure_name [(argument_list)]; ``` 例如: ```sql CALL GetUserInfo(123); ``` 这将调用`GetUserInfo`存储过程,传入ID为123的用户。 四、存储过程的修改与删除 要...

    DB2存储过程培训200908

    调用存储过程使用`CALL`语句,例如: ```sql CALL ADD_NUMBERS(3, 5, ?); ``` 这里的问号(?)代表一个输出参数,执行后会得到结果。 存储过程的优点包括: 1. **性能提升**:预编译的SQL语句可以在数据库级别...

Global site tag (gtag.js) - Google Analytics