通过动态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语句创建游标与实现数据库加解密功能的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。