<?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: create integrity constraints in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824636#M325674</link>
    <description>&lt;P&gt;Concatenate the datasets and remove duplicates.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data final;
set PRIMARY Secondary;
run;

proc sort data=final noduprec dupout=dups;
by _all_;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 21 Jul 2022 13:24:15 GMT</pubDate>
    <dc:creator>kleelasiva9</dc:creator>
    <dc:date>2022-07-21T13:24:15Z</dc:date>
    <item>
      <title>create integrity constraints</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824614#M325665</link>
      <description>&lt;P&gt;DATA PRIMARY;&lt;/P&gt;&lt;P&gt;INFILE cards delimiter=",";&lt;/P&gt;&lt;P&gt;input key$ version$;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;a,v1&lt;/P&gt;&lt;P&gt;b,v1&lt;/P&gt;&lt;P&gt;c,v1&lt;/P&gt;&lt;P&gt;d,v1&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;DATA Secondary;&lt;/P&gt;&lt;P&gt;INFILE cards delimiter=",";&lt;/P&gt;&lt;P&gt;input key$ version$;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;a,v1&lt;/P&gt;&lt;P&gt;b,v1&lt;/P&gt;&lt;P&gt;c,v2&lt;/P&gt;&lt;P&gt;d,v2&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;I have 2 datasets as above. Now, i need to set integrity constraint on the data 'primary' such that 'version' does not get repeated after appending the data 'secondary'. and if the same version is there then no new rows should get append. Also, i want to display a message for rejected records. So after appending 'secondary' data, the final data should look like below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data Want;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;KEY&lt;/TD&gt;&lt;TD&gt;Version&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;V1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;V1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;V1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;V1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;V2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;V2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Thanks.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 12:27:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824614#M325665</guid>
      <dc:creator>Decay2020</dc:creator>
      <dc:date>2022-07-21T12:27:18Z</dc:date>
    </item>
    <item>
      <title>Re: create integrity constraints</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824636#M325674</link>
      <description>&lt;P&gt;Concatenate the datasets and remove duplicates.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data final;
set PRIMARY Secondary;
run;

proc sort data=final noduprec dupout=dups;
by _all_;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 21 Jul 2022 13:24:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824636#M325674</guid>
      <dc:creator>kleelasiva9</dc:creator>
      <dc:date>2022-07-21T13:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: create integrity constraints</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824647#M325678</link>
      <description>No, I need to do it using integrity contraints, like primary key or something. not just appending.&lt;BR /&gt;</description>
      <pubDate>Thu, 21 Jul 2022 13:38:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824647#M325678</guid>
      <dc:creator>Decay2020</dc:creator>
      <dc:date>2022-07-21T13:38:24Z</dc:date>
    </item>
    <item>
      <title>Re: create integrity constraints</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824653#M325679</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/389613"&gt;@Decay2020&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't think this is going to work with an integrity constraint on &lt;FONT face="courier new,courier"&gt;version&lt;/FONT&gt; alone because the duplicate values of this variable in dataset PRIMARY itself would contradict the requirement of no repeats. However, by adding variable &lt;FONT face="courier new,courier"&gt;key&lt;/FONT&gt; to the constraint you get what you want for your example data: a message in the log about the rejected observations and the desired dataset -- as a modified version of dataset PRIMARY, though, since integrity constraints do not apply to newly created datasets ("WANT").&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc datasets lib=work nolist;
modify primary;
ic create unique(key version);
quit;

proc append base=primary new=secondary;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Log messages from PROC APPEND:&lt;/P&gt;
&lt;PRE&gt;NOTE: Appending WORK.SECONDARY to WORK.PRIMARY.
WARNING: Add/Update failed for data set WORK.PRIMARY because data value(s) do not comply with integrity constraint _UN0001_, 2 observations rejected.
NOTE: There were 4 observations read from the data set WORK.SECONDARY.
NOTE: 2 observations added.
NOTE: The data set WORK.PRIMARY has 6 observations and 2 variables.&lt;/PRE&gt;</description>
      <pubDate>Thu, 21 Jul 2022 13:54:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-integrity-constraints/m-p/824653#M325679</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2022-07-21T13:54:04Z</dc:date>
    </item>
  </channel>
</rss>

