DECLARE v_count NUMBER; v_number NUMBER; BEGIN SELECT COUNT(1) INTO v_count FROM email t; SELECT COUNT(1) INTO v_number FROM email tt WHERE tt.is_delete = 0; IF v_count = v_number THEN EXECUTE IMMEDIATE 'TRUNCATE TABLE email'; ELSE dbms_output.put_line('email表中is_delete字段不都为零'); END IF; END;
里,动态删除要怎么写,不删除整个表,是删除,所有emailid为某个值的,有个传入的emailid。 EXECUTE IMMEDIATE 'delete from soa_email_status where eml_id={?EmailID?}'; 总是报无效的列索引
比如eml_id=1的有五条,这五条的is_delete都为0,则删除这五条如果eml_id=1的五条数据中部分is_delete为0,部分不为0呢?是删除为0的数据,还是都不删除?
v_count NUMBER;
v_number NUMBER;
BEGIN
SELECT COUNT(1)
INTO v_count
FROM email t;
SELECT COUNT(1)
INTO v_number
FROM email tt
WHERE tt.is_delete = 0;
IF v_count = v_number THEN
EXECUTE IMMEDIATE 'TRUNCATE TABLE email';
ELSE
dbms_output.put_line('email表中is_delete字段不都为零');
END IF;
END;
EXECUTE IMMEDIATE 'delete from soa_email_status where eml_id={?EmailID?}';
总是报无效的列索引