通过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数据库单表查询 4.3实验课
Apr 05 SQL Server
SQLServer 日期函数大全(小结)
Apr 08 SQL Server
SQL Server代理:理解SQL代理错误日志处理方法
Jun 30 SQL Server
数据库之SQL技巧整理案例
Jul 07 SQL Server
Windows环境下实现批量执行Sql文件
Oct 05 SQL Server
sql server 累计求和实现代码
Feb 28 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
Apr 22 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 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
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
python创建子类的方法分析
2019/11/28 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
浅析python标准库中的glob
2020/03/13 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
办理暂住证介绍信
2014/01/11 职场文书
升职演讲稿范文
2014/05/23 职场文书
农村文化活动总结
2014/08/28 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
CAD实训总结范文
2015/08/03 职场文书
Go获取两个时区的时间差
2022/04/20 Golang