游标的定义:
cursor c_get is
SELECT ContactNameC FROM MTContact WHERE contactno = v_objectno;
SELECT ContactNameC , m.* FROM MTContact m WHERE objectno = 'HXT0821';
如果参数为 NUMBER 字段没有问题 !
solution :
c_objectno MTContact.Objectno%type;
执行 游标之前赋值
c_objectno:=v_objectno;
游标改成
cursor c_get is
SELECT ContactNameC FROM MTContact WHERE objectno = c_objectno;
即可
总结
1.原先写PROCEDURE 都传入参数 为NUMBER 类型的主键 , 这次是传入的VARCHAR v_objectno。
2. 如果传入形参 应该强制转换一下
3. 传入为IN_OBJCECTNO , 变量为v_objectno; 最好不要乱定义
以上是从SQL SERVER 转过来的。