通过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
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
在 SQL 语句中处理 NULL 值的方法
Jun 07 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL中的三种去重方法小结
Nov 01 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
SQL Server中的游标介绍
May 20 SQL Server
SQL Server中搜索特定的对象
May 25 SQL Server
SQL使用复合索引实现数据库查询的优化
May 25 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 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
一个用php3编写的简单计数器
2006/10/09 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
分享php多功能图片处理类
2016/05/15 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JavaScript 图像动画的小demo
2012/05/23 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
图解javascript作用域链
2019/05/27 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
中职应届生会计求职信
2013/10/23 职场文书
工艺工程师工作职责
2013/11/23 职场文书
财务会计专业推荐信
2013/11/30 职场文书
出国考察邀请函
2014/01/21 职场文书
企业管理培训感言
2014/01/27 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
百日安全生产活动总结
2014/07/05 职场文书
升学宴家长致辞
2015/07/27 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
python源码剖析之PyObject详解
2021/05/18 Python