Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR ALTER PROCEDURE PRO_SEPARA_PALAVRAS (
- APALAVRA VARCHAR(1000),
- AORDEM VARCHAR(4))
- RETURNS (
- RESULT VARCHAR(1000))
- AS
- DECLARE VARIABLE SUB VARCHAR(1000);
- DECLARE VARIABLE I INTEGER;
- BEGIN
- IF (UPPER(:AORDEM) = 'ASC') THEN
- BEGIN
- I = 1;
- RESULT = '';
- SUB = :APALAVRA;
- WHILE (I <= CHARACTER_LENGTH(:APALAVRA)) DO
- BEGIN
- IF (SUBSTRING(:SUB FROM 1 FOR 1) = ' ') THEN
- BEGIN
- SUSPEND;
- RESULT = '';
- END
- ELSE
- RESULT = RESULT || SUBSTRING(:SUB FROM 1 FOR 1);
- SUB = SUBSTRING(:SUB FROM 2 FOR CHARACTER_LENGTH(:SUB));
- I = I + 1;
- END
- SUSPEND;
- END
- ELSE
- IF (UPPER(:AORDEM) = 'DESC') THEN
- BEGIN
- RESULT = '';
- SUB = :APALAVRA;
- WHILE (CHARACTER_LENGTH(:SUB) > 0) DO
- BEGIN
- IF (SUBSTRING(:SUB FROM CHARACTER_LENGTH(:SUB) FOR 1) = ' ') THEN
- BEGIN
- RESULT = REVERSE(RESULT);
- SUSPEND;
- RESULT = '';
- END
- ELSE
- RESULT = RESULT || SUBSTRING(:SUB FROM CHARACTER_LENGTH(:SUB) FOR 1);
- SUB = SUBSTRING(:SUB FROM 1 FOR CHARACTER_LENGTH(:SUB)-1);
- END
- RESULT = REVERSE(RESULT);
- SUSPEND;
- END
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement