【问题标题】:Stored Procedure Parameter Type存储过程参数类型
【发布时间】:2010-11-16 21:22:54
【问题描述】:

我有一个关于存储过程的in 参数类型 的问题。通常参数的定义如下所示:

in param_test VARCHAR(100)

你知道我是否可以定义这样的参数吗?:

in param_test table.column%type

这样参数将与特定表的列的类型相同。因此,如果列类型从 varchar(100) 更改为 varchar(250),我不必更改存储过程中的参数类型。

我知道在 Oracle 中是可能的,但我不知道它是否在 MySQL 中。

非常感谢您的宝贵时间和帮助。

问候。

【问题讨论】:

    标签: mysql stored-procedures parameters types


    【解决方案1】:

    MySQL 不支持该语法。您需要显式声明存储程序中参数的数据类型。

    如果您想保护自己免受将来更改 varchar 列的最大长度的影响,您可以使用 TEXT 数据类型作为参数,

    【讨论】:

      【解决方案2】:

      如何将参数值传递给文本数据类型的数据库.. 我正在使用此代码 mysql_CommandLtp.Parameters.Add("@prmName", MySqlDbType.Text); mysql_CommandLtp.Parameters["@prmName"].Value = prmName.ToString().Trim();

      【讨论】:

      • OP 要求在 MySQL 中提供解决方案,而不是在编程语言中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      相关资源
      最近更新 更多