通过T-SQL语句创建游标与实现数据库加解密功能


Posted in SQL Server onMarch 16, 2022

通过动态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 相关文章推荐
2021-4-3课程——SQL Server查询【2】
Apr 05 SQL Server
SQL Server数据定义——模式与基本表操作
Apr 05 SQL Server
SQL Server基本使用和简单的CRUD操作
Apr 05 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL SERVER存储过程用法详解
Feb 24 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
SQL Server使用导出向导功能
Apr 08 SQL Server
SQL Server删除表中的重复数据
May 25 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
MySQL 中如何归档数据的实现方法
SQL Server查询某个字段在哪些表中存在
Mar 03 #SQL Server
sql时间段切分实现每隔x分钟出一份高速门架车流量
Feb 28 #SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 #SQL Server
Sql Server之数据类型详解
Feb 28 #SQL Server
sql server 累计求和实现代码
Feb 28 #SQL Server
SQL SERVER触发器详解
Feb 24 #SQL Server
You might like
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
python的setattr函数实例用法
2020/12/16 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
见习报告格式范文
2014/11/08 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
python中的sys模块和os模块
2022/03/20 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers
关于MySQL中explain工具的使用
2023/05/08 MySQL