通过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 相关文章推荐
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
SQL Server2019数据库之简单子查询的具有方法
Apr 27 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
SQL Server远程连接的设置步骤(图文)
Mar 23 SQL Server
使用MybatisPlus打印sql语句
Apr 22 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 字符串 小常识
2009/06/05 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
jquery中this的使用说明
2010/09/06 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python手机号码归属地查询代码
2016/05/04 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Python 画出来六维图
2019/07/26 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
革命英雄事迹演讲稿
2014/09/13 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
基于python的matplotlib制作双Y轴图
2021/04/20 Python