通过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 相关文章推荐
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
SQL语句中JOIN的用法场景分析
Jul 25 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL SERVER存储过程用法详解
Feb 24 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 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
php批量更改数据库表前缀实现方法
2013/10/26 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
php短址转换实现方法
2015/02/25 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
Javascript Global对象
2009/08/13 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
详解Python中的__init__和__new__
2014/03/12 Python
Python3基础之基本数据类型概述
2014/08/13 Python
Python如何为图片添加水印
2016/11/25 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Python的几种主动结束程序方式
2019/11/22 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
基于python实现模拟数据结构模型
2020/06/12 Python
法律七进实施方案
2014/03/15 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
详解Python牛顿插值法
2021/05/11 Python
详解Vue的options
2021/05/15 Vue.js
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
关于EntityWrapper的in用法
2022/03/22 Java/Android
Python 图片添加美颜效果
2022/04/28 Python