1
2
不能这样传递参数
|
2
3
您得到的错误是因为动态语句的结尾不应该有分号。这是一个客户端语句分隔符,不是语句本身的一部分,而execute immediate只接受一个语句。(是否得到“ORA-00933:SQL命令未正确结束”或“ORA-00911:invalid character”取决于您的Oracle版本)。
但是,当这些语句被执行时,它们是在一个单独的SQL上下文中执行的,该上下文不具有PL/SQL变量和过程参数的可见性或知识。它将试图,但失败,去解释
您可以直接在参数中连接,如所建议的@(但仍然没有分号):
等等,因为需要正确处理日期,所以与其他数据类型相比会稍微复杂一些。
但是最好使用bind变量;这意味着
|
3
2
|
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
Anar · Oracle SQL用户定义函数 2 年前 |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |