通过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注入的方法
May 25 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
Apr 22 SQL Server
SQL Server中锁的用法
May 20 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 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 Class 文章
2007/04/04 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
header导出Excel应用示例
2014/01/24 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
办公室文员自荐书
2014/02/03 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
文员岗位职责范本
2015/04/16 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server