sql - PL/SQL 过程字符参数

标签 sql stored-procedures plsql oracle10g procedure

这很可能是一个非常愚蠢的问题,但我已经尝试搜索和回答,但一无所获。

我正在编写一个采用单个 CHAR 类型参数的过程。即:

  CREATE PROCEDURE Proc1 (Param1 CHAR(5))
  AS
  BEGIN
    ...
  END;

这不起作用并且会在 CHAR(5) 区域周围引发错误。如果我没有为参数指定大小,那么只需将其保留为 CHAR 它就可以正常工作。我试过包含关键字 IN,但这没有任何区别。

在 PL/SQL 过程中是否可以指定参数的大小?

最佳答案

Is there anyway of specifying a size for parameters in PL/SQL procedures?

没有,如手册中所述

引自 http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/subprograms.htm#sthref1640

For each parameter, you specify:
- Its name.
- Its parameter mode (...)
- Its datatype. You specify only the type, not any length or precision constraints

(强调我的)

关于sql - PL/SQL 过程字符参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957597/

相关文章:

sql - PL SQL如何选择所有列

sql - 计算整个表的哈希值的最快方法

mysql - 计算两个字段之和之间的差异

mysql - SQL-如何将一个值从一个表插入另一个表,但另一表中的数据应保持不变

java - SQL 语句 - NullPointerException

mysql - 执行存储过程失败时出错

mysql - Emacs' `sql-mysql`,ec2

MySql 立即创建函数解决方案

SQL:根据变量选择动态列名

oracle - 调用另一个 Oracle 包中的过程/函数的开销