BookmarkSubscribeRSS Feed
PaulC
Fluorite | Level 6

I'm using proc sql in data integration studio transformation "sql execute". How can I make the following work so that I can delete from the table according to the other table.

I have two inputs to the transformation &_input1. and &_input2.

There is just some simple syntax error which I do not see ?

user written code:

proc sql;

delete from &_input2.

where  &_input2.variable = &_input1.variable

quit;

I cannot point to input one as: "&_input1.variable", how do I do that?

4 REPLIES 4
ballardw
Super User

If &_input1 and 2 are dataset names you need two periods to reference variables to get the dataset.variable construct

the first period tells the macro processor to get the value of &_input1 and then append the text variable

where  &_input2..variable = &_input1..variable

PaulC
Fluorite | Level 6

Tried this already, but wasn't succesfull. I have to retry on Monday.

Patrick
Opal | Level 21

Code you could generate using the SQL Delete transformation:

   proc sql;

      delete from target.Class_Target

      where

         Class_Target.Name IN (

            select

               DelRecords.Name length = 8

            from

               work.DelRecords as DelRecords

         )

   ;quit;

Below how my sample job creating above code looks like.

I first load sashelp.class into a target table, then have an extract step where I only select the rows "where name='Alfred' from the source table, and then a delete step deleting all records in target where name matches with the extract (so: "Alfred").

Capture.PNG

Capture.PNG

Capture.PNG

Capture.PNG

PaulC
Fluorite | Level 6

I found out that this is really what i want and working:

proc sql;

     DELETE FROM &_input2. as b
     WHERE EXISTS(SELECT 1 FROM &_input1. as a WHERE a.variable1=b.variable1 and a.variable2=b.variable2);

quit;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1544 views
  • 4 likes
  • 3 in conversation