<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: PROC SQL update errors in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322802#M71467</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/91559"&gt;@SASsy05&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I didn't use your exact table names (I should have) but I did create what I think is a working example. If your tables are very large it may help to use explicit pass-through for the UPDATE statement. The example below uses only SAS (no PostgreSQL). The EXISTS predicate is important and stops a very sneaky side effect. It may help to remove it and see what happens. Here you go.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
   create table drug_exposure (drug_exposure_id int,
                               drug_concept_id int);

   insert into drug_exposure values (1,10);
   insert into drug_exposure values (2,20);
   insert into drug_exposure values (3,30);
   insert into drug_exposure values (5,50);

   create table drug_txtmatch (drug_exposure_id int,
                               drug_cid int);

   insert into drug_txtmatch values (1,11);
   insert into drug_txtmatch values (2,22);
   insert into drug_txtmatch values (3,33);
   insert into drug_txtmatch values (4,44);

quit;

proc sql;
	update drug_exposure as t1
	set drug_concept_id = (select t2.drug_cid 
	                         From drug_txtmatch as t2
	                         Where t1.drug_exposure_id=t2.drug_exposure_id)
    where exists (select 1 
                    from drug_txtmatch as t3 
                   where t1.drug_exposure_id = t3.drug_exposure_id);
quit; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best wishes,&lt;BR /&gt;Jeff&lt;/P&gt;</description>
    <pubDate>Fri, 06 Jan 2017 14:19:47 GMT</pubDate>
    <dc:creator>JBailey</dc:creator>
    <dc:date>2017-01-06T14:19:47Z</dc:date>
    <item>
      <title>PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322736#M71434</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to update a postgres table using proc sql update. I have 2 tables: db.drug_exposure is the table that I am trying to update from the second table dtext.txtmatch. I want drug_concept_id in db.drug_exposure to be updated with drug_cid from dtext.txtmatch when&amp;nbsp;drug_exposure_id = drug_exposure_id. I have tried the following, all producing at least one error (SAS log with errors below the code).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance for any help!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
	update db.drug_exposure as t1
	set drug_concept_id = t2.drug_cid, 
	From dtext.txtmatch as t2
	Where t1.drug_exposure_id=t2.drug_exposure_id;
quit; 


proc sql; 
  update db.drug_exposure t1
  set drug_concept_id = 
		(select drug_cid 
  		from dtext.txtmatch t2)
  			Where t2.drug_exposure_id=t1.drug_exposure_id;
quit; 

proc sql; 
  update db.drug_exposure
  set drug_concept_id = 
		(select drug_cid 
  		from dtext.txtmatch)
  			Where drug_exposure_id in (select drug_exposure_id from dtext.txtmatch);
quit; 


proc sql; 
	update db.drug_exposure
  	set drug_concept_id = drug_cid,
	from dtext.txtmatch
where drug_exposure_id = drug_exposure_id;
quit; 

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2827&lt;BR /&gt;2828&amp;nbsp; proc sql;&lt;BR /&gt;2829&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure as t1&lt;BR /&gt;2830&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id = t2.drug_cid,&lt;BR /&gt;2831&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From dtext.txtmatch as t2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&lt;BR /&gt;ERROR 73-322: Expecting an =.&lt;BR /&gt;&lt;BR /&gt;ERROR 22-322: Syntax error, expecting one of the following: ;, !!, *, **, +, ',', -, /, WHERE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ||.&lt;BR /&gt;&lt;BR /&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;BR /&gt;&lt;BR /&gt;2832&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where t1.drug_exposure_id=t2.drug_exposure_id;&lt;BR /&gt;2833&amp;nbsp; quit;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&lt;BR /&gt;2834&lt;BR /&gt;2835&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;2836&amp;nbsp; proc sql;&lt;BR /&gt;2837&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure t1&lt;BR /&gt;2838&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id =&lt;BR /&gt;2839&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select drug_cid&lt;BR /&gt;2840&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dtext.txtmatch t2)&lt;BR /&gt;2841&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where t2.drug_exposure_id=t1.drug_exposure_id;&lt;BR /&gt;ERROR: Unresolved reference to table/correlation name t2.&lt;BR /&gt;ERROR: Expression using equals (=) has components that are of different data types.&lt;BR /&gt;2842&amp;nbsp; quit;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.06 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;BR /&gt;&lt;BR /&gt;2843&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;2844&amp;nbsp; proc sql;&lt;BR /&gt;2845&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure&lt;BR /&gt;2846&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id =&lt;BR /&gt;2847&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select drug_cid&lt;BR /&gt;2848&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dtext.txtmatch)&lt;BR /&gt;2849&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where drug_exposure_id in (select drug_exposure_id from dtext.txtmatch);&lt;BR /&gt;ERROR: Subquery evaluated to more than one row.&lt;BR /&gt;2850&amp;nbsp; quit;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.09 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&lt;BR /&gt;2851&lt;BR /&gt;2852&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;2853&amp;nbsp; proc sql;&lt;BR /&gt;2854&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure&lt;BR /&gt;2855&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id = drug_cid,&lt;BR /&gt;2856&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dtext.txtmatch&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 73&lt;BR /&gt;ERROR 73-322: Expecting an =.&lt;BR /&gt;&lt;BR /&gt;2857&amp;nbsp; where drug_exposure_id = drug_exposure_id;&lt;BR /&gt;2858&amp;nbsp; quit;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jan 2017 17:45:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322736#M71434</guid>
      <dc:creator>SASsy05</dc:creator>
      <dc:date>2017-01-05T17:45:26Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322744#M71438</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/91559"&gt;@SASsy05&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try removing the comma after drug_cid. I have taken it out of the code, below.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;sql&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token keyword"&gt;update&lt;/SPAN&gt; db&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;drug_exposure as t1
	&lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; drug_concept_id &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; t2&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;drug_cid 
	&lt;SPAN class="token keyword"&gt;From&lt;/SPAN&gt; dtext&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;txtmatch as t2
	&lt;SPAN class="token statement"&gt;Where&lt;/SPAN&gt; t1&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;drug_exposure_id&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;t2&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;drug_exposure_id&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;quit;&lt;/SPAN&gt;&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jan 2017 18:10:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322744#M71438</guid>
      <dc:creator>JBailey</dc:creator>
      <dc:date>2017-01-05T18:10:08Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322745#M71439</link>
      <description>&lt;P&gt;First error:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2830&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id = t2.drug_cid,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the comma says something is separated but is in a place not expected&lt;/P&gt;
&lt;PRE&gt; proc sql;
	update db.drug_exposure as t1
	set drug_concept_id = (select t2.drug_cid  
	           From dtext.txtmatch as t2
	           Where t1.drug_exposure_id=t2.drug_exposure_id);
quit; &lt;/PRE&gt;
&lt;P&gt;may be a bit closer to what you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next you have ) in the wrong place&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jan 2017 18:10:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322745#M71439</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-01-05T18:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322746#M71440</link>
      <description>&lt;P&gt;Thanks, but this is the error I get now.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;2866&amp;nbsp; proc sql;&lt;BR /&gt;2867&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure as t1&lt;BR /&gt;2868&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id = t2.drug_cid&lt;BR /&gt;2869&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From dtext.txtmatch as t2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 202&lt;BR /&gt;ERROR 22-322: Syntax error, expecting one of the following: ;, !!, *, **, +, ',', -, /, WHERE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ||.&lt;BR /&gt;&lt;BR /&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;BR /&gt;&lt;BR /&gt;ERROR 202-322: The option or parameter is not recognized and will be ignored.&lt;BR /&gt;&lt;BR /&gt;2869!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From dtext.txtmatch as t2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;BR /&gt;ERROR 22-322: Syntax error, expecting one of the following: ;, !, !!, &amp;amp;, *, **, +, -, /, &amp;lt;, &amp;lt;=,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE, LET,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.&lt;BR /&gt;&lt;BR /&gt;2870&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where t1.drug_exposure_id=t2.drug_exposure_id;&lt;BR /&gt;2871&amp;nbsp; quit;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jan 2017 18:12:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322746#M71440</guid>
      <dc:creator>SASsy05</dc:creator>
      <dc:date>2017-01-05T18:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322747#M71441</link>
      <description>&lt;P&gt;That was actually the first one I tried. The original postgres table has a non-null consraint on drug_concept_id and I believe what is happeneing is that my table (dtext.textmatch) only contains some records and not all, but it is trying to update all records, so I am getting the following error.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;2872&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;2873&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update db.drug_exposure as t1&lt;BR /&gt;2874&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set drug_concept_id = (select t2.drug_cid&lt;BR /&gt;2875&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From dtext.txtmatch as t2&lt;BR /&gt;2876&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where t1.drug_exposure_id=t2.drug_exposure_id);&lt;BR /&gt;ERROR: Error updating table entry: ERROR: null value in column "drug_concept_id" violates not-null&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; constraint Failing row contains (null, 2014-11-04, 2014-11-04, 0, -1, null,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null, null, three times daily as needs, null, null, 0, Atarax 25 mg Tabs, ODA, Atarax 25 mg&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tabs,).; Error while executing the query&lt;BR /&gt;ERROR: ROLLBACK issued due to errors for data set DB.DRUG_EXPOSURE.DATA.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jan 2017 18:16:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322747#M71441</guid>
      <dc:creator>SASsy05</dc:creator>
      <dc:date>2017-01-05T18:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322802#M71467</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/91559"&gt;@SASsy05&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I didn't use your exact table names (I should have) but I did create what I think is a working example. If your tables are very large it may help to use explicit pass-through for the UPDATE statement. The example below uses only SAS (no PostgreSQL). The EXISTS predicate is important and stops a very sneaky side effect. It may help to remove it and see what happens. Here you go.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
   create table drug_exposure (drug_exposure_id int,
                               drug_concept_id int);

   insert into drug_exposure values (1,10);
   insert into drug_exposure values (2,20);
   insert into drug_exposure values (3,30);
   insert into drug_exposure values (5,50);

   create table drug_txtmatch (drug_exposure_id int,
                               drug_cid int);

   insert into drug_txtmatch values (1,11);
   insert into drug_txtmatch values (2,22);
   insert into drug_txtmatch values (3,33);
   insert into drug_txtmatch values (4,44);

quit;

proc sql;
	update drug_exposure as t1
	set drug_concept_id = (select t2.drug_cid 
	                         From drug_txtmatch as t2
	                         Where t1.drug_exposure_id=t2.drug_exposure_id)
    where exists (select 1 
                    from drug_txtmatch as t3 
                   where t1.drug_exposure_id = t3.drug_exposure_id);
quit; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best wishes,&lt;BR /&gt;Jeff&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jan 2017 14:19:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/322802#M71467</guid>
      <dc:creator>JBailey</dc:creator>
      <dc:date>2017-01-06T14:19:47Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/323025#M71532</link>
      <description>&lt;P&gt;Thanks! I will play around with this a bit.&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jan 2017 16:18:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/323025#M71532</guid>
      <dc:creator>SASsy05</dc:creator>
      <dc:date>2017-01-06T16:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/331486#M74502</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/91559"&gt;@SASsy05&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any news?&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 13:04:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/331486#M74502</guid>
      <dc:creator>JBailey</dc:creator>
      <dc:date>2017-02-10T13:04:25Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL update errors</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/333095#M75015</link>
      <description>&lt;P&gt;I ended up creating a new table, deleting the old table in pgAdmin and loading the new table with the updated data back in. Another problem that arose, was that even though I deleted the original table, the new table still had to have every single variable as the old table for it to load back in.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Feb 2017 18:00:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-update-errors/m-p/333095#M75015</guid>
      <dc:creator>SASsy05</dc:creator>
      <dc:date>2017-02-15T18:00:01Z</dc:date>
    </item>
  </channel>
</rss>

