Desktop productivity for business analysts and programmers

Insert into with a where clause

Reply
Contributor
Posts: 28

Insert into with a where clause

Hello community,

 

I'm tying to do an insert with a where clause to filter the operators that I've already have on the destination table.

 

The code is:

 

PROC SQL;
INSERT INTO LIBNAME.EMPLOYEES AS T1
(OPERATOR,
CODE,
NAME,
POSITION,
DEPARTMENT,
STATUS)
SELECT *
FROM WORK.QUERY AS T2
WHERE T1.OPERATOR NE T2.OPERATOR;
QUIT;

 

ERROR 79-322: Expecting a SELECT.

ERROR 202-322: The option or parameter is not recognized and will be ignored.

 

 

Super User
Posts: 8,216

Re: Insert into with a where clause

Posted in reply to rodrichiez

What are you trying to insert? Here is an example of using the insert statement:

 

proc sql;
  create table test as
    select * from sashelp.class
      where age eq 12
  ;
  
   insert into test
     select * from sashelp.class
      where age ge 15
 ;
quit;

Art, CEO, AnalystFinder.com

 

PROC Star
Posts: 549

Re: Insert into with a where clause

Posted in reply to rodrichiez

you can do this in two steps an example is shown

/* dataset 1*/
data have1;
input name $ age;
datalines;
bill 20
sam 10

;
/* dataset 2*/
data have2;
input name $ age;
datalines;
bill 20


;
/* create a temp table*/
proc sql;
create table have3 as
select * from have1
where trim(name) not in(select trim(name) from have2);
/* then insert into final table*/
proc sql;
insert into have2(name, age)
select * from have3;
Ask a Question
Discussion stats
  • 2 replies
  • 218 views
  • 2 likes
  • 3 in conversation