【问题标题】:Specifying variable size when passing one to the cursor in Oracle在Oracle中将1传递给游标时指定可变大小
【发布时间】:2011-01-28 18:52:35
【问题描述】:

如果我定义的光标接受 2 个这样的参数:

CURSOR cur_det (var1 IN varchar2,var2 IN varchar2)  IS

是否可以指定它们的大小?谢谢

【问题讨论】:

  • 你试过CURSOR cur_det (var1 IN varchar2(10),var2 IN varchar2(72)) IS... 看看会发生什么吗?
  • @Frustrated - 你得到 ORA-06550,PLS-00103,“在期待...时遇到了符号“(”。它不喜欢“(10)”。
  • @redcayuga:我试图向 OP 建议他们应该自己尝试并报告结果,然后再在这里询问。
  • @Frustrated:我明白你的意思,这是一个 RTM 问题。 “Try It Yourself So You Don't have to Ask”有首字母缩写词吗? - TIYSYDHTA?

标签: sql oracle plsql cursor


【解决方案1】:

不,您不能指定varchar2(100) 或类似的东西。传递的 varchar 不受约束。

您可以使用 %Type 将参数锚定到数据库列,即my_table.a_column%Type。但我不认为这实际上限制了参数。

【讨论】:

  • 感谢您的确认。经过仔细检查,我的问题在其他地方,但这很有用。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多