通过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 相关文章推荐
SQL Server中交叉联接的用法详解
Apr 22 SQL Server
SQL Server2019数据库之简单子查询的具有方法
Apr 27 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL Server代理:理解SQL代理错误日志处理方法
Jun 30 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server中使用表变量和临时表
May 20 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
SQL中的连接查询详解
Jun 21 SQL Server
详解SQL报错盲注
Jul 23 SQL Server
SqlServer常用函数及时间处理小结
May 08 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP CURL使用详解
2019/03/21 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
Python分析学校四六级过关情况
2017/11/22 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
详解Python_shutil模块
2019/03/15 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
python request 模块详细介绍
2020/11/10 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
2014年大学生自我评价
2014/01/19 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
学生期末评语大全
2014/04/30 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
Moment的feature导致线上bug解决分析
2022/09/23 Javascript