通过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 相关文章推荐
【HBU】数据库第四周 单表查询
Apr 05 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 SQL Server
MSSQL基本语法操作
Apr 11 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL Server 中的事务介绍
May 20 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面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
第一章之初识Bootstrap
2016/04/25 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
浅谈js的异步执行
2016/10/18 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
ElementUI之Message功能拓展详解
2019/10/18 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
员工自我鉴定范文
2013/10/06 职场文书
初中英语课后反思
2014/04/25 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
财务工作检讨书
2014/10/29 职场文书
2015年档案室工作总结
2015/05/23 职场文书