通过T-SQL语句创建游标与实现数据库加解密功能
作者:.NET开发菜鸟
这篇文章介绍了通过T-SQL语句创建游标与实现数据库加解密功能的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
通过动态SQL语句创建游标
DECLARE @sql varchar(100); DECLARE @TableName varchar(32); DECLARE @FieldName varchar(32); DECLARE @PrimaryKey varchar(32); DECLARE @DbValue varchar(32); DECLARE @PKey int; --赋值 set @TableName='Student'; SET @FieldName='Name'; SET @PrimaryKey='Id'; --创建动态游标 set @sql = 'declare rowCursor cursor For select '+@PrimaryKey+' as PKey , '+@FieldName +' as DbValue from '+@TableName; EXEC(@sql); --打开游标 OPEN rowCursor; --取值 fetch next from rowCursor into @PKey,@DbValue; --循环 while(@@FETCH_STATUS=0) begin declare @ExecSql varchar(100); set @ExecSql='Update '+@TableName +' set '+@FieldName+' = 234324324'; PRINT @ExecSql EXEC(@ExecSql) fetch next from rowCursor into @PKey,@DbValue; end --关闭游标 close rowCursor; --释放游标控件 deallocate rowCursor;
通过T-SQL语句实现数据库加解密功能
CREATE TABLE [dbo].[Users] ( [U_nbr] NVARCHAR(20) NOT NULL PRIMARY KEY, [Pwd] nvarchar(MAX) ) --加密 DECLARE @Pwd nvarchar(max) SET @Pwd='测试加密' --将varbinary类型转换成varchar类型 INSERT INTO Users VALUES ('admin',sys.fn_varbintohexstr(ENCRYPTBYPASSPHRASE('32423sd',@Pwd))) SELECT * FROM Users DECLARE @pv varbinary(max) DECLARE @str nvarchar(max) DECLARE @sql nvarchar(max) --将varchar类型转换成varbinary类型 SELECT @str='0x0100000079e98bc2209c61038f9fc2eaaba24d6b8daad08fd98a41b6' set @sql=N'set @p='+@str+N';' exec sp_executesql @sql, N'@p as varbinary(max) output', @p=@pv output PRINT @pv --解密 SELECT CONVERT(VARCHAR(MAX), DecryptByPassPhrase('123ASSDSS',@pv)) GO
到此这篇关于通过T-SQL语句创建游标与实现数据库加解密功能的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- SQL Server 事务,异常和游标详解
- SQL中游标(cursor)的基本使用实例
- SQL Server 开窗函数 Over()代替游标的使用详解
- 详解SQL游标的用法
- SQL Server游标的介绍与使用
- Sql Server临时表和游标的使用小结
- SQL Server查看未释放游标的方法
- SQL Server使用游标处理Tempdb究极竞争-DBA问题-程序员必知
- sql 取代游标的写法示例
- MS SQL Server游标(CURSOR)的学习使用
- SQL Server 游标语句 声明/打开/循环实例
- SQL Server游标的使用/关闭/释放/优化小结
- SQL Server遍历表中记录的2种方法(使用表变量和游标)