Do a left outer join on the table you are trying to update, use your join fields, and update the value only where it is populated on the other table.
DATA X; X = '1'; Y = 2; Z = 3; RUN; DATA Y; X = '3'; Y = 2; Z = 1; RUN; PROC SQL; CREATE TABLE Z AS (select CASE WHEN (b.x = ' ') THEN (A.x) else b.x END as X, a.y, CASE WHEN (b.z =.) THEN (A.z) else b.z END as Z FROM X as Aleft outer join Y as Bon A. Y ); QUIT; data lib.master(drop=rc); declare hash myhash(dataset: 'in.yourdata(rename=(cust_id=id cust_name=name))');*** ADD AS MANY VARNAMES AS YOU NEED ***; rc = myhash.definekey('ID','NAME'); rc = myhash.definedata('CITY','DATAVAR2','DATAVAR3'); rc = myhash.definedone(); do until(eof); set lib.master end = eof; call missing(CITY); call missing(DATAVAR2); call missing(DATAVAR3); rc = myhash.find(); output; end; stop; run; PROC SQL; UPDATE MASTER SET CITY = (SELECT INFILE.
That prohibits a data step MERGE solution and, besides, isn't this what PROC SQL is here for?
CUST_NAME AND etc..fields ; QUIT; The join variables in INFILE are not the same name as those in MASTER and the user doesn't want the names changed.
NET Provider error: Teradata session is busy another request [May 2008 - One Post] XML [Apr 2008 - 2 Posts] 05565 Error: Update in the update statement is a Complex Update [Apr 2010 - 3 Posts] 10040: 10040 WSA E Msg Size: Message too long [Oct 2004 - 3 Posts] 10054: WSA E Conn Reset: Connection reset by peer.
Whilst on the general tab, drop down the combobox next to the property.
In here you will see the types of connection manager which this task will accept.
I have not been able to find the correct syntax for updating multiple fields in my 'master' data set with information from my 'infile' data set. more fields FROM MASTER MS LEFT JOIN INFILE IN ON MS.
I tried this in vain: PROC SQL; UPDATE MASTER SET CITY = IN.