<?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: Efficiently updating Sql server Table using SAS Dataset in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/359859#M64397</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is it specific to SQL Server. I am having difficult making it work on Access database.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: Execute: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or&lt;BR /&gt;'UPDATE'.&lt;/P&gt;</description>
    <pubDate>Fri, 19 May 2017 00:03:29 GMT</pubDate>
    <dc:creator>sasuser77</dc:creator>
    <dc:date>2017-05-19T00:03:29Z</dc:date>
    <item>
      <title>Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151077#M39792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I am updating a SQL server Table called sml_emp_exp_rpt (Master) using a SAS&lt;BR /&gt;Dataset called all_renewals (Transaction).Both the Master and Transaction tables have &lt;/P&gt;&lt;P&gt;fields &lt;STRONG&gt;grpmain&lt;/STRONG&gt; and &lt;STRONG&gt;rnwl_dt.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The Master table can have more than one record for the combination of&lt;BR /&gt;&lt;STRONG&gt;grpmain&lt;/STRONG&gt; and &lt;STRONG&gt;rnwl_dt&lt;/STRONG&gt;&amp;nbsp; fields from Transaction table and all such records need to be&lt;BR /&gt;updated in the master Table using the Information from transaction table.The Transaction table&lt;BR /&gt;has only one record for a &lt;STRONG&gt;grpmain&lt;/STRONG&gt; and &lt;STRONG&gt;rnwl_dt&lt;/STRONG&gt; combination.Also all&lt;BR /&gt;combinations of grpmain and rnwl_dt in the Master table are also present in&lt;BR /&gt;the Transaction table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;So i am using the below code to update 4 columns in the Master table using&lt;BR /&gt;the transaction table.This method works ,however is very slow and right now&lt;BR /&gt;takes about 35 mins to update 133K records in the Master table.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Here is my SAS Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*********************************************************************************************************/&lt;/P&gt;&lt;P style="text-align: left;"&gt;&lt;BR /&gt;&lt;EM&gt;libname sql_sgr SQLSVR user=user1 password=pwd1 datasrc=testpath;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;libname sm_grp '/shrproj/files/sas_data/sm_grp';&lt;/EM&gt;&lt;/P&gt;&lt;P style="text-align: left;"&gt;&lt;/P&gt;&lt;P style="text-align: left;"&gt;&lt;BR /&gt;&lt;EM&gt;proc sql;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;create table all_renewals as&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Select&amp;nbsp;&amp;nbsp;&amp;nbsp; distinct grpmain,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; datepart(rnwl_dt) as rnwl_dt,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; agency,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; agency_agent,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; mkt_rep,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; rnwl_status_cd&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;from sm_grp.be_ALL_RENEWALS&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;quit;&lt;/EM&gt;&lt;/P&gt;&lt;P style="text-align: left;"&gt;&lt;BR /&gt;&lt;EM&gt;proc sql;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;update sql_sgr.sml_emp_exp_rpt a&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;set &lt;STRONG&gt;agency&lt;/STRONG&gt;=(select b.agency&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; from all_renewals as b&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; where a.rnwl_dt=b.rnwl_dt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; and a.grpmain=b.grpmain),&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; agency_agent&lt;/STRONG&gt;=(select b.agency_agent&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; from all_renewals as b&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; where a.rnwl_dt=b.rnwl_dt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; and a.grpmain=b.grpmain),&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; MRKT_REP_ID&lt;/STRONG&gt;=(select b.mkt_rep&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; from all_renewals as b&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; where a.rnwl_dt=b.rnwl_dt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; and a.grpmain=b.grpmain),&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; rnwl_status_cd&lt;/STRONG&gt;=(select b.rnwl_status_cd&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; from all_renewals as b&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; where a.rnwl_dt=b.rnwl_dt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&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; and a.grpmain=b.grpmain)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;quit&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/***************************************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;My question is how can the above Code be modified to Improve the Efficiency&lt;BR /&gt;of the Update?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please let me know of any Solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 20:56:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151077#M39792</guid>
      <dc:creator>pchegoor</dc:creator>
      <dc:date>2014-03-20T20:56:54Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151078#M39793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I like SQL a lot, but for certain kind of updates, it's terrible...&lt;/P&gt;&lt;P&gt;How large is your Master table?&lt;/P&gt;&lt;P&gt;If you have the appropriate rights, it could probably be more efficient to extract the whole table to SAS, update it using&amp;nbsp; a data step, truncate the original in SQL Server, and bulk load it back.&lt;/P&gt;&lt;P&gt;Another option is to upload you transactions as a temporary tabel to SQL Server, and then perhaps you'll get a implicit SQL pass-thru of the update operations (use options sastrace=',,,d' sastraceloc=saslog; to verify), or use explicit SQL pass-thru to make sure that all update processing will take place in SQL Server.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 07:28:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151078#M39793</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2014-03-21T07:28:38Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151079#M39794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Agree w/ LinusH.&amp;nbsp; Create an "input" table then merge the two.&amp;nbsp; You might include the insertbuff option as well to speed up the inserts.&amp;nbsp; Bulk loading might be a possibility but I've never been able to get it to work for Sqlserver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;libname sql_sgr SQLSVR user=user1 password=pwd1 datasrc=testpath insertbuff = 10000;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;libname sm_grp '/shrproj/files/sas_data/sm_grp';&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;proc sql;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;connect to SQLSVR as cSQL (&lt;EM&gt;user=user1 password=pwd1 datasrc=testpath insertbuff = 10000);&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;create table sql_sgr.tmp as &lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Select&amp;nbsp;&amp;nbsp;&amp;nbsp; distinct grpmain,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; datepart(rnwl_dt) as rnwl_dt,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; agency,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; agency_agent,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; mkt_rep,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; rnwl_status_cd&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;from sm_grp.be_ALL_RENEWALS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;execute (&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; merge into &lt;EM&gt;sml_emp_exp_rpt a&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using tmp b&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on (&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;EM&gt;a.rnwl_dt=b.rnwl_dt&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; and a.grpmain=b.grpmain)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when matched then update &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/EM&gt;&lt;EM&gt;set &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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;/EM&gt;&lt;EM&gt;a.agency=b.agency,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; a.agency_agent=b.agency_agent,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; a.mkt_rep=b.mkt_rep,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&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; a.mwl_status_cd=b.mwl_status_cd&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;) by cSQL;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;execute (drop table tmp) by cSQL;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;disconnect from cSQL;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;EM&gt;quit;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check merge statement syntax&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 10:38:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151079#M39794</guid>
      <dc:creator>DBailey</dc:creator>
      <dc:date>2014-03-21T10:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151080#M39795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks LinusH and DBailey&amp;nbsp; i used the above suggested method and it worked. This is what i did :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #000080; font-size: 12pt; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; font-size: 12pt; font-family: 'Courier New';"&gt;sql&lt;/STRONG&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;connect&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;to&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; SQLSVR (user=&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: 'Courier New'; font-size: 12pt;"&gt;sql_user_id.&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; password=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; font-family: 'Courier New'; font-size: 12pt;"&gt;"&amp;amp;sql_password."&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; datasrc=&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: 'Courier New'; font-size: 12pt;"&gt;sql_path.&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; insertbuff = &lt;/SPAN&gt;&lt;STRONG style="color: #008080; font-size: 12pt; font-family: 'Courier New';"&gt;10000&lt;/STRONG&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;create&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;table&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; sql_sgr.all_renewals &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;as&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;Select&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;distinct&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; grpmain,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;datepart(rnwl_dt) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;as&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; rnwl_dt format=&lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: 'Courier New'; font-size: 12pt;"&gt;date9.&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;agency,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;agency_agent,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;mkt_rep,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;rnwl_status_cd&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;from&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; sm_grp.be_ALL_RENEWALS;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;execute&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; (&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; merge into sml_emp_exp_rpt a&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using all_renewals b&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on (a.rnwl_dt=b.rnwl_dt&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&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; and a.grpmain=b.grpmain)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when matched then update&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&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; a.agency=b.agency,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&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; a.agency_agent=b.agency_agent,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&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; a.mrkt_rep_id=b.mkt_rep,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&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; a.rnwl_status_cd=b.rnwl_status_cd;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; SQLSVR;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;execute&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; (drop table all_renewals) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; SQLSVR;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;disconnect&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: 'Courier New'; font-size: 12pt;"&gt;from&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt; SQLSVR;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #000080; font-size: 12pt; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;Now it takes only about &lt;/SPAN&gt;&lt;STRONG style="color: #000000; font-size: 12pt; font-family: 'Courier New';"&gt;5 secs &lt;/STRONG&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;to update 135559&amp;nbsp; rows of the sql server table.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 13:04:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/151080#M39795</guid>
      <dc:creator>pchegoor</dc:creator>
      <dc:date>2014-04-15T13:04:06Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/359859#M64397</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is it specific to SQL Server. I am having difficult making it work on Access database.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: Execute: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or&lt;BR /&gt;'UPDATE'.&lt;/P&gt;</description>
      <pubDate>Fri, 19 May 2017 00:03:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/359859#M64397</guid>
      <dc:creator>sasuser77</dc:creator>
      <dc:date>2017-05-19T00:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiently updating Sql server Table using SAS Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/360255#M64416</link>
      <description>&lt;P&gt;MS Access SQL is different to SQL Server SQL, Search the SAS Support site for examples of updating MS Access. If you are still stuck, create a new post. Adding to an existing post for a different problem is unlikely to be helpful.&lt;/P&gt;</description>
      <pubDate>Sun, 21 May 2017 01:03:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Efficiently-updating-Sql-server-Table-using-SAS-Dataset/m-p/360255#M64416</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2017-05-21T01:03:13Z</dc:date>
    </item>
  </channel>
</rss>

