Archives of the TeradataForum
Message Posted: Wed, 07 Mar 2012 @ 22:22:32 GMT
Subj: | | Re: Insert When |
|
From: | | McCall, Glenn David |
Isn't this just 2 insert statements?
The use of the VALUES (i.e. constant values) seems confusing in this scenario. Also, does the target table and column list have to be the
same?
Can you supply a working example (I did find a couple of very bizarre example for Oracle - real example would be better)?
But I guess you could do this:
INSERT
INTO [TableName] ([ColumnName])
VALUES ([VALUES])
SELECT [ColumnName] FROM [TableName]
Where ([Condition])
;
INSERT
INTO [TableName] ([ColumnName])
VALUES ([VALUES])
SELECT [ColumnName] FROM [TableName]
Where NOT ([Condition])
;
If you have to use literal values you could use a macro as follows (check syntax, I just made this up):
Replace macro x (i1 integer, i2 integer) as (
Insert into target1 values (:i1, :i2)
Where :i1 = 1;
Insert into target2 values (:i1, :i2)
Where :i1 <> 1;
);
***** ALSO, the utilities (e.g. mload) has conditional processing that looks sort of like this (check the manual for syntax)
.import ....
APPLY INS_NO_1 where condition1
APPLY INS_NO_2 where condition2
Etc
;
|