Advertisement
| Hall of Fame |
|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| Question |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: |
create procedure EXECUTE_DYNAMIC()
LANGUAGE SQL
BEGIN
--Declare generic variables
DECLARE v_counter INTEGER DEFAULT 0;
DECLARE v_message varchar(70);
DECLARE v_sqlstate char(5);
DECLARE v_sqlcode INteger;
DECLARE SQLSTATE char(5);
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE at_notfound SMALLINT DEFAULT 0;
DECLARE is_looping SMALLINT;
DECLARE start_ts timestamp;
DECLARE end_ts timestamp;
DECLARE command1 VARCHAR (32000);
DECLARE not_found
CONDITION for SQLSTATE '02000';
DECLARE SQLEXEPTION
CONDITION for SQLSTATE '23502';
DECLARE CONTINUE HANDLER FOR SQLEXEPTION
BEGIN
IF is_looping = 1 then
set v_sqlstate = SQLSTATE;
set v_sqlcode = SQLCODE;
--else
-- return;
end if;
END;
DECLARE CONTINUE HANDLER FOR not_found
BEGIN
SET at_notfound = 1;
set v_sqlstate = SQLSTATE;
set v_sqlcode = SQLCODE;
END;
BEGIN
DECLARE cursor1 CURSOR FOR
SELECT QUERY
from TEST_QUERY
FOR UPDATE with RR;
OPEN cursor1;
SET is_looping = 0;
WHILE at_notfound = 0 DO
set is_looping = 1;
set v_sqlstate = '00000';
set v_sqlcode = 0;
FETCH cursor1 INTO command1;
-- check that we got a row from the cursor
if (at_notfound = 0) then
SET start_ts = CURRENT TIMESTAMP; -- added by momi
EXECUTE IMMEDIATE command1;
SET end_ts = CURRENT TIMESTAMP; -- added by momi
IF v_sqlcode <> 0 then
insert into error_table values (v_sqlcode, v_sqlstate, command1);
else
update test_query
set start_timestamp = start_ts,
end_timestamp = end_ts
where current of cursor1;
end if;
set at_notfound = 0;
end if;
END while;
CLOSE cursor1;
COMMIT;
END;
END
|