sql - ' 在过程/函数上
问题描述
我不知道什么时候放'。例如在一个程序上,当我写执行立即“句子”时,如果我输入的句子中有一个值
'||valor||'
但是在一个函数上我不知道为什么我必须写
return 'UPPER(USER_NAME) = ''' || user || '''';
不仅是“||用户||”。任何人都可以帮助我吗?
解决方案
不要使用连接值构造查询。
改用类似的东西
EXECUTE IMMEDIATE 'SELECT user_id FROM user_table WHERE UPPER( username ) = :1' INTO your_user_id USING UPPER( your_user_name );
它将处理所有情况。在您的示例中,如果user
包含 a会发生什么'
?如果你有2个连续的'
怎么办?这可能是一场真正的噩梦。
推荐阅读
- amazon-web-services - 企业级 CI/CD 管道的范围
- c++ - 用递归函数求解布尔方程
- c# - SharePoint 2019 基于自定义表单的身份验证使用活动目录“未与您共享的网站”
- python - 在 Windows 上的 Python Popen 子进程中暂停 FFmpeg 编码
- c - 具有 0 个子子树的级别顺序二叉树插入
- python - Diestel-Leader 图的绘图球
- python - 通过迭代行的函数运行 df
- arrays - 为什么 if variable ~= "text" 在 lua 5.1/luajit 中不起作用?
- git - 如何在 Visual Studio git 中获取所有分支和标签
- python - 如何迭代奇数索引并将它们添加回原始列表