首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Update语句PLSQL

Update语句PLSQL
EN

Stack Overflow用户
提问于 2020-12-16 22:53:19
回答 1查看 26关注 0票数 0

我正在写一个过程,里面有一个execute immediate。这是我的代码。

代码语言:javascript
复制
  PROCEDURE upd_row(
  table_name VARCHAR2,
  set_values VARCHAR2,
  conditions VARCHAR2 := NULL)IS 
  BEGIN 
  EXECUTE IMMEDIATE 'UPDATE '|| table_name || 'SET' || set_values|| ' WHERE ' || conditions ||')';
  END;

如你所见,我有3个参数。这是我如何调用它的代码。

代码语言:javascript
复制
table_pkg.upd_row('my_contacts','name=''Nancy Greenberg''','id=2'); 

我得到的错误是:'missing SET keyword‘

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 23:09:44

错误在于,当您将SET关键字连接到set_valuestable_name时,您没有在其间留出空格,因此这会将所有这些单词连接在一起。

所以你的代码应该是这样的:

代码语言:javascript
复制
EXECUTE IMMEDIATE 'UPDATE '|| table_name || ' SET ' || set_values|| ' WHERE ' || conditions ;

顺便说一句,考虑在execute immediate的末尾删除')',因为它会导致语句失败,因为没有任何打开的(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65325659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档