通過T-SQL語句創(chuàng)建游標與實現(xiàn)數(shù)據(jù)庫加解密功能
通過動態(tài)SQL語句創(chuàng)建游標
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';
--創(chuàng)建動態(tài)游標
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;
--循環(huán)
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
--關(guān)閉游標
close rowCursor;
--釋放游標控件
deallocate rowCursor;通過T-SQL語句實現(xiàn)數(shù)據(jù)庫加解密功能
CREATE TABLE [dbo].[Users]
(
[U_nbr] NVARCHAR(20) NOT NULL PRIMARY KEY,
[Pwd] nvarchar(MAX)
)
--加密
DECLARE @Pwd nvarchar(max)
SET @Pwd='測試加密'
--將varbinary類型轉(zhuǎn)換成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類型轉(zhuǎn)換成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到此這篇關(guān)于通過T-SQL語句創(chuàng)建游標與實現(xiàn)數(shù)據(jù)庫加解密功能的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- SQL Server 事務(wù),異常和游標詳解
- SQL中游標(cursor)的基本使用實例
- SQL Server 開窗函數(shù) Over()代替游標的使用詳解
- 詳解SQL游標的用法
- SQL Server游標的介紹與使用
- Sql Server臨時表和游標的使用小結(jié)
- SQL Server查看未釋放游標的方法
- SQL Server使用游標處理Tempdb究極競爭-DBA問題-程序員必知
- sql 取代游標的寫法示例
- MS SQL Server游標(CURSOR)的學習使用
- SQL Server 游標語句 聲明/打開/循環(huán)實例
- SQL Server游標的使用/關(guān)閉/釋放/優(yōu)化小結(jié)
- SQL Server遍歷表中記錄的2種方法(使用表變量和游標)
相關(guān)文章
sqlserver 多表查詢不同數(shù)據(jù)庫服務(wù)器上的表
sqlserver中多表查詢不同數(shù)據(jù)庫服務(wù)器上的表的實現(xiàn)方法,需要的朋友可以參考下2012-04-04
sum(case when then)(判斷男女生的個數(shù))
判斷類似一個班級的男生和女生的人數(shù)使用sum (cese when then)示例代碼如下,感興趣的朋友可以參考下2013-09-09
SQL Server遍歷表中記錄的2種方法(使用表變量和游標)
遍歷表一般都要用到游標在SQL Server中可以很容易的用游標實現(xiàn)循環(huán)實現(xiàn)遍歷表中記錄,本文將介紹使用表變量和游標實現(xiàn)數(shù)據(jù)庫中表的遍歷,感興趣的朋友可以了解下本文,或許可以幫助到你2013-02-02
SQLServer XML數(shù)據(jù)的五種基本操作
SQLServer XML數(shù)據(jù)的五種基本操作語句2009-07-07
跨數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)交流
這篇文章主要介紹了跨數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)交流的兩種方式,一是通過鏈接服務(wù)器,二是使用OPENDATASOURCE/OPENROWSET連接遠程服務(wù)器,需要的朋友可以參考下2015-08-08
SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法匯總
新建數(shù)據(jù)庫是我們開始數(shù)據(jù)庫學習的重要一步,下面這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-05-05
sql 查詢記錄數(shù)結(jié)果集某個區(qū)間內(nèi)記錄
sqlserver如何實現(xiàn)查詢記錄數(shù)某個區(qū)間內(nèi)記錄,本文將提供多種解決方法,需要了解的朋友可以參考下2012-11-11
在SQL Server中實現(xiàn)最短路徑搜索的解決方法
本篇文章小編為大家介紹,在SQL Server中實現(xiàn)最短路徑搜索的解決方法。需要的朋友參考下2013-04-04

