我正在OUTPUT使用动态 SQL调用带有参数的存储过程。
set @cSql='EXEC '+@cName+'.dbo.uspNDateGet '''
+convert(varchar(10),@dtAsOn,102)+''','''
+@cBr+''','''
+@cLCode+''','''
+convert(varchar(10),@dtNDate,102)+''' OUTPUT'
exec(@cSql)
Run Code Online (Sandbox Code Playgroud)
在执行脚本时,我收到以下错误。
OUTPUT将常量传递给存储过程时不能使用该选项。
在不使用动态 SQL 的情况下,脚本给了我所需的结果。
EXEC uspNDateGet @dtAsOn,@cBr,@cLCode,@dtNDate OUTPUT
Run Code Online (Sandbox Code Playgroud) 我正在加密密码并将加密的密码存储在数据库中.加密密钥是8.例如,如果我的密码是abc,那么加密形式的abc将ijk存储在数据库中.直到这封信v,这是正常的.ASCII值为v118.所以,118 + 8 = 126即; ~将被存储为v的加密形式.但是,从信件w到~ie; 从119到126,这些字母的加密形式存储在数据库中?.有没有更好的方法来加密这8个字母?