Help using Base SAS procedures

update from one table to another

Reply
Super Contributor
Posts: 401

update from one table to another

Hi,  I'm not that familiar with the update step in SAS.  I have a code in Teradata that uses update, and I need to find the equivalent in proc sql.. However, I'm not sure if the way I have it set out is the most optimal way.  In my Proc SQL, it's taking way to long to process.

Teradata SQl Code:

UPDATE ACCT_TABLE

   FROM BAL_TABLE A

   SET CURR_STRT_DT = SNAP_DT

   WHERE ACCT_TABLE.ARQ_ID = A.ARQ_ID

     AND ACCT_TABLE.OD_CURR_STRT_DT IS NULL

     AND ACCT_TABLE.ACCT_OPEN_CLS_STS = 'O'

     AND A.BAL_INCL_B < 0

;

PROC SQL  (My)

proc sql;

  update ACCT_TABLE B

set CURR_STRT_DT = (select SNAP_DT from BAL_TABLE  A

          WHERE A.ARQ_ID = B.ARQ_ID

          AND B.SNAP_DT is NULL

          AND B.ACCT_OPEN_CLS_STS = 'O'

          AND A.BAL_INCL_B < 0)

;quit;

PROC Star
Posts: 326

Re: update from one table to another

If both tables are in Teradata, then explicit pass through would be good

Super Contributor
Posts: 401

Re: update from one table to another

The tables are originally from Teradata, but I was able to bring them locally into my SAs server, and I have to update them there.  Using the second code.

PROC Star
Posts: 326

Re: update from one table to another

if you have both tables in Teradata, if possible please run an explain plan and check what it tell you. How large are this tables. if you both tables in Teradata, it is always a good practice to do it in Teradata

Ask a Question
Discussion stats
  • 3 replies
  • 254 views
  • 0 likes
  • 2 in conversation