通过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代理:理解SQL代理错误日志处理方法
Jun 30 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
Windows环境下实现批量执行Sql文件
Oct 05 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
SQL Server Agent 服务无法启动
Apr 20 SQL Server
Sql Server 行数据的某列值想作为字段列显示的方法
Apr 20 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 SQL Server
详解SQL报错盲注
Jul 23 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数据对象映射模式实例分析
2019/03/29 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
javascript 当前日期加(天、周、月、年)
2009/08/09 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
bootstrap Table服务端处理分页(后台是.net)
2017/10/19 Javascript
python字符串替换示例
2014/04/24 Python
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python属于哪种语言
2020/08/16 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
Django权限控制的使用
2021/01/07 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
String和StringBuffer的区别
2015/08/13 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
新护士岗前培训制度
2014/02/02 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
和睦家庭事迹
2014/05/14 职场文书
车辆委托书范本
2014/10/05 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
手写实现JS中的new
2021/11/07 Javascript
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers