通過T-SQL語句創(chuàng)建游標(biāo)與實(shí)現(xiàn)數(shù)據(jù)庫加解密功能
通過動態(tài)SQL語句創(chuàng)建游標(biāo)
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)游標(biāo)
set @sql = 'declare rowCursor cursor For select '+@PrimaryKey+' as PKey , '+@FieldName
+' as DbValue from '+@TableName;
EXEC(@sql);
--打開游標(biāo)
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)閉游標(biāo)
close rowCursor;
--釋放游標(biāo)控件
deallocate rowCursor;通過T-SQL語句實(shí)現(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)建游標(biāo)與實(shí)現(xiàn)數(shù)據(jù)庫加解密功能的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SQL Server 事務(wù),異常和游標(biāo)詳解
- SQL中游標(biāo)(cursor)的基本使用實(shí)例
- SQL Server 開窗函數(shù) Over()代替游標(biāo)的使用詳解
- 詳解SQL游標(biāo)的用法
- SQL Server游標(biāo)的介紹與使用
- Sql Server臨時表和游標(biāo)的使用小結(jié)
- SQL Server查看未釋放游標(biāo)的方法
- SQL Server使用游標(biāo)處理Tempdb究極競爭-DBA問題-程序員必知
- sql 取代游標(biāo)的寫法示例
- MS SQL Server游標(biāo)(CURSOR)的學(xué)習(xí)使用
- SQL Server 游標(biāo)語句 聲明/打開/循環(huán)實(shí)例
- SQL Server游標(biāo)的使用/關(guān)閉/釋放/優(yōu)化小結(jié)
- SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
相關(guān)文章
sqlserver 多表查詢不同數(shù)據(jù)庫服務(wù)器上的表
sqlserver中多表查詢不同數(shù)據(jù)庫服務(wù)器上的表的實(shí)現(xiàn)方法,需要的朋友可以參考下2012-04-04
sum(case when then)(判斷男女生的個數(shù))
判斷類似一個班級的男生和女生的人數(shù)使用sum (cese when then)示例代碼如下,感興趣的朋友可以參考下2013-09-09
SQL Server 總結(jié)復(fù)習(xí)(一)
寫這篇文章,主要是總結(jié)最近學(xué)到的一些新知識,這些特性不一定是SQLSERVER最新版才有,大多數(shù)是2008新特性,有些甚至是更早。如果有不懂的地方,建議大家去百度谷歌搜搜,本文不做詳細(xì)闡述,有錯誤的地方,歡迎大家批評指正2012-08-08
SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
遍歷表一般都要用到游標(biāo)在SQL Server中可以很容易的用游標(biāo)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)遍歷表中記錄,本文將介紹使用表變量和游標(biāo)實(shí)現(xiàn)數(shù)據(jù)庫中表的遍歷,感興趣的朋友可以了解下本文,或許可以幫助到你2013-02-02
SQLServer XML數(shù)據(jù)的五種基本操作
SQLServer XML數(shù)據(jù)的五種基本操作語句2009-07-07
跨數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)交流
這篇文章主要介紹了跨數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)交流的兩種方式,一是通過鏈接服務(wù)器,二是使用OPENDATASOURCE/OPENROWSET連接遠(yuǎn)程服務(wù)器,需要的朋友可以參考下2015-08-08
SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法匯總
新建數(shù)據(jù)庫是我們開始數(shù)據(jù)庫學(xué)習(xí)的重要一步,下面這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
sql 查詢記錄數(shù)結(jié)果集某個區(qū)間內(nèi)記錄
sqlserver如何實(shí)現(xiàn)查詢記錄數(shù)某個區(qū)間內(nèi)記錄,本文將提供多種解決方法,需要了解的朋友可以參考下2012-11-11
在SQL Server中實(shí)現(xiàn)最短路徑搜索的解決方法
本篇文章小編為大家介紹,在SQL Server中實(shí)現(xiàn)最短路徑搜索的解決方法。需要的朋友參考下2013-04-04

