powerbuilder12中如何调用带参数的存储过程
How to call a stored procedure with parameters in powerbuilder12
我正在使用 sybase powerbilder12 IDE 和 mySQL。
我有一个这样的存储过程:
DELIMITER //
CREATE PROCEDURE CRTempTable(IN loc_code CHAR(6))
BEGIN
create temporary table mstparameter (select * from mstparameter_consolidate where location_code = 'loc_code');
END//
DELIMITER ;
我在 powerbuilder12 中这样调用它:
DECLARE TempTBCRCall PROCEDURE FOR TempTableCR
location_code = :gs_location_code_mstparameter ;
execute TempTBCRCall;
它给我错误:
Stored procedure execution failure1054 SQLSTATE = S0022
[MySQL][ODBC 5.2(a) Driver][mysqld-5.5.25a]Unknown column
'location_code' in 'field list'... Error Code 0
但是 location_code
在我的 mstparameter_consolidate
table 中。
如果我设置为手动输入 location_code
,它可以正常工作。
尝试将 "table-name." 放在列名前面。
这是一个有效的示例,希望对您有所帮助。
DECLARE pb_acceso_usuario PROCEDURE FOR SP_ACCESO_VALIDA_DATOS_USUARIO (:gs_cod_usuario,:ls_password);
execute pb_acceso_usuario;
if SQLCA.sqlcode = 0 then
FETCH pb_acceso_usuario INTO :ln_count,:gs_des_usuario,:ls_estado;
CLOSE pb_acceso_usuario;
end if
我正在使用 sybase powerbilder12 IDE 和 mySQL。
我有一个这样的存储过程:
DELIMITER //
CREATE PROCEDURE CRTempTable(IN loc_code CHAR(6))
BEGIN
create temporary table mstparameter (select * from mstparameter_consolidate where location_code = 'loc_code');
END//
DELIMITER ;
我在 powerbuilder12 中这样调用它:
DECLARE TempTBCRCall PROCEDURE FOR TempTableCR
location_code = :gs_location_code_mstparameter ;
execute TempTBCRCall;
它给我错误:
Stored procedure execution failure1054 SQLSTATE = S0022
[MySQL][ODBC 5.2(a) Driver][mysqld-5.5.25a]Unknown column 'location_code' in 'field list'... Error Code 0
但是 location_code
在我的 mstparameter_consolidate
table 中。
如果我设置为手动输入 location_code
,它可以正常工作。
尝试将 "table-name." 放在列名前面。
这是一个有效的示例,希望对您有所帮助。
DECLARE pb_acceso_usuario PROCEDURE FOR SP_ACCESO_VALIDA_DATOS_USUARIO (:gs_cod_usuario,:ls_password);
execute pb_acceso_usuario;
if SQLCA.sqlcode = 0 then
FETCH pb_acceso_usuario INTO :ln_count,:gs_des_usuario,:ls_estado;
CLOSE pb_acceso_usuario;
end if