![]() |
|
Archives of the TeradataForumMessage Posted: Thu, 12 Dec 2013 @ 13:45:45 GMT
As Dieter has described, T14 now has this rather lovely function called Split_To_Table. We are now using this in conjunction with a Stored Procedure, pretty much how you want to do it yourself, I suspect. My Procedure accepts ValuePairs (which are Country Code, Account Nr pair values), but it wouldn't really be much different. The splitting is actually very easy :
SELECT d.tokennum, d.AccountNumber
FROM TABLE
(strtok_split_to_table(null,'000012345,000067891,000034345',',')
RETURNS (outkey INTEGER,
tokennum INTEGER,
AccountNumber VARCHAR(20) CHARACTER SET UNICODE)) as d
order by
--d.tokennum
d.AccountNumber
1 000012345
3 000034345
2 000067891
What you may be missing is the method of returning the Result set from a Stored Procedure - again, very easy :
REPLACE PROCEDURE TESTCOMMERCIAL_X.CO2_ACCNT_SUMMARY_ALLDUPS_P01
(
IN nP_YearNr SMALLINT,
IN sP_ValuePairTx VARCHAR(4096) CHARACTER SET LATIN, -- format 'XX,999;XX,999'
--
OUT nP_ResultCode SMALLINT,
OUT sP_ResultMsg VARCHAR(512),
)
DYNAMIC RESULT SETS 1
... lots of code ... then ...
RETURN_RESULTSET : BEGIN
BEGIN DECLARE AccntShipment_Csr1 CURSOR WITH RETURN ONLY FOR
SEL * FROM WHATEVER_YOUR_TABLE_IS;
OPEN AccntShipment_Csr1;
END; -- of Cursor Declare
END RETURN_RESULTSET;
You may want to Insert into a Volatile Table your Split To Tables, then join that VT into your main Query ... will work a treat ! Regards David Clough
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||