通过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
【HBU】数据库第四周 单表查询
Apr 05 SQL Server
sql字段解析器的实现示例
Jun 23 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL SERVER触发器详解
Feb 24 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
SQL Server使用导出向导功能
Apr 08 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 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将向Java靠拢
2006/10/09 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
Javascript中的 “&” 和 “|” 详解
2017/02/02 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Python collections模块实例讲解
2014/04/07 Python
python网络编程之文件下载实例分析
2015/05/20 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python格式化日期时间操作示例
2018/06/28 Python
python实现决策树分类
2018/08/30 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
外语系毕业生找工作的求职信
2013/11/28 职场文书
肯尼迪就职演说稿
2013/12/31 职场文书
同事吵架检讨书
2014/02/05 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
摄影展策划方案
2014/06/02 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL