我对存储过程的参数类型有疑问。通常,参数的定义如下所示:
in param_test VARCHAR(100)
你知道我是否可以定义这样的参数吗?:
in param_test table.column%type
这样,参数将与特定表的列类型相同。因此,如果列类型从varchar(100)更改为varchar(250),则不必更改存储过程中的参数类型。
我知道在甲骨文中这是可能的,但我不知道它是否在MySQL中。
非常感谢你的时间和帮助。
问候。
答案 0 :(得分:4)
MySQL不支持该语法。您需要在存储程序中显式声明参数的数据类型。
如果您想保护自己免受将来对varchar列最大长度的更改的影响,可以使用TEXT
数据类型作为参数,
答案 1 :(得分:-1)
如何将参数值传递给text数据类型的数据库.. 我正在使用此代码 mysql_CommandLtp.Parameters.Add(“@ prmName”,MySqlDbType.Text); mysql_CommandLtp.Parameters [“@ prmName”]。Value = prmName.ToString()。Trim();