存储过程里面动态查询sql语句,如何转义单引号

如题所述

第1个回答  2018-05-30
create or replace zz
as
v_sql varchar2(2000);
begin
v_sql:=' select * from scott.emp where name=''swith'' ';
open cursor c1 v_sql;
end zz;本回答被网友采纳

SQL 转义字符,如何在存储过程中写 ' (单引号)
回答:在存储过程中,密码中有’(单引号),第一反应使用转义字符。C++ 的转义字符是:\\SQL 的转义字符是:'(单引号)例:select * from tbl where uyear='''06'请注意其中红色背景的单引号,它即表示转义字符,如果我们省略,则整个语句会出错,转义字符不会输出,上例中 uyear 的实际条件值为 '06,...

存储过程 单引号
1) 可以用'''表示字符串中的一个单引号,如:set @a = ''' + 'xxxx' + '''或者 set @account = '''xxxx'''查询分析器中执行 Print '''结果为 '2)用Char(39),上例变为:set @a = char(39) + 'xxxx' + char(39)查询分析器中执行 Select char(39) + 'xxxx' + char(39)...

存储过程类型转换
1有些地方没必要4个单引号,3个就行,在sql中字符串的拼接语句中要表示1个单引号就得用两个单引号,前一个表示转义的意思,编程语言都有转义一说 2因为是字符串拼接的,而@FormerPrice这些是money类型的,如果不转换,就默认要把字符串转换成money类型了,就会出错。所以得把@FormerPrice之类的转换...

存储过程中执行sql语句时如何转义双引号?
双引号不用转,如果里面有单引号,那就在前面再加一个单引号 如:select replace('"dfdf''df"','"','')用全角的演示一下 select replace( ‘“abc ’’ de ”’,‘“”’,‘’)

如何防止SQL注入
UPDATE或DELETE命令。⑵ 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。

关于存储过程的引号,头晕了
这个引号 主要是看你的参数具体的值 你上面所举的例子,在我看来可能是你理解错了,注意你的引号到底是加上什么位置 你这里的语句补全后,大致应该是这样的:'xxxxx' + @N + 'zzzzz'假设@N = 'yyyyy' 时,拼接后就是 xxxxxyyyyyzzzzz 3引号的情况:'''xxxxx''' + @N + '''zzzzz'''仍然...

关于SQL存储过程,出入where条件的问题
用动态语句~就是用SQL的字符串操作凑出你要运行的语句~然后执行它~DECLARE @sql_cmd varchar(1000)--定义用来存储语句的变量 set @sql_cmd='select * from tab_ '--注意引号前有个空格,如果你的 WHERE 前面有个空格,那这个空格可以不用,空格的作用是防止表名称跟 WHERE 这个单词连在一起产生...

请大侠帮我修改一个存储过程语法,谢谢!
单引号的问题:改为 \/*通用查询*\/ (TableName varchar(50), -- 表名 GetFields varchar(150) , -- 需要返回的字段 strWhere varchar(200) = '', -- 查询条件 (注意: 不要加 where)strOrder varchar(200)='' -- 排序字符串,从web程序输入 )as declare @tiao...

项目开发中使用存储过程和直接使用SQL语句的区别
1,sp在后台,而SQL在前台。相对而言,前者具有更大的灵活性;2,sp是参数化的,而SQL可能是动态拼装的。因此,DBMS在执行时,前者效率更高(因为直接从Cache区中取出,不再需要解析)3,使用SQL进行动态组装,代码不够清晰,有点啰嗦 --遇到单引号【'】需要额外处理 -- 若使用StringReplace还好些 4...

android 哪些字符需要转义
在存储过程中,密码中有’(单引号),第一反应使用转义字符。敲上\/(反斜杠),失败告终; 百度一下如下结果,SQL 的转义字符是:'(单引号),所以在密码中写’’(两个单引号),表示一个单引号。C++ 的转义字符是:\\SQL 的转义字符是:'(单引号)

相似回答