放在存储过程中执行吧,用按钮调用存储过程了
方式一:
var mycode=this.options.form.getWidgetByName('mycode').getValue(); //获取参数
var mydate=this.options.form.getWidgetByName('mydate').getValue();
var STATUS=this.options.form.getWidgetByName('STATUS').getValue();
var sql="exec test_aa_cc "+mycode+","+mydate+","+STATUS;
var res=FR.remoteEvaluate('=sql("dbbasedata","'+sql+'",1,1)');
还有打印一下sql的语句是如何 alert(sql)
oracel按变量删除数据,自己制作一个测试的表数据去操作!!!!一定不要在服务器生产环境操作,自己不熟悉的时候,先创建测试的表与数据去操作!!!!!!
/*以下是创建一个存储过程,按传入的月份删除数据。*/
CREATE OR REPLACE PROCEDURE DELETE_SALES_BY_MONTH (
p_month_code IN SALES_RECORDS.MONTH_CODE%TYPE
) AS
BEGIN
-- 删除符合条件的数据
DELETE FROM SALES_RECORDS
WHERE MONTH_CODE = p_month_code;
-- 提交事务
COMMIT;
-- 输出成功信息(可选)
DBMS_OUTPUT.PUT_LINE('Records for month code ' || p_month_code || ' have been deleted successfully.');
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- 如果没有找到要删除的数据,可以处理或忽略
DBMS_OUTPUT.PUT_LINE('No records found for month code ' || p_month_code);
WHEN OTHERS THEN
-- 捕获其他所有异常
ROLLBACK; -- 回滚事务以确保数据完整性
DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM);
END DELETE_SALES_BY_MONTH;
/
-- 调用存储过程并传递参数EXEC DELETE_SALES_BY_MONTH('202401');