<?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>Question Re: Dynamic column from powerscript to SQL ? in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834756#M4865599</link>
    <description>&lt;P&gt;Please explain why you need a trigger.&lt;/P&gt;

&lt;P&gt;If you are asking "How do I do EXECUTE IMMEDIATE in SQL Anywhere 10?" here is a demonstration using a stored procedure:&lt;/P&gt;

&lt;PRE&gt;CREATE TABLE trans_comp (
   batch_no INTEGER NOT NULL PRIMARY KEY,
   day1     INTEGER NOT NULL DEFAULT 0,
   day2     INTEGER NOT NULL DEFAULT 0,
   day3     INTEGER NOT NULL DEFAULT 0,
   day4     INTEGER NOT NULL DEFAULT 0,
   day5     INTEGER NOT NULL DEFAULT 0,
   day6     INTEGER NOT NULL DEFAULT 0,
   day7     INTEGER NOT NULL DEFAULT 0 );

INSERT trans_comp ( batch_no ) VALUES ( 1 );
INSERT trans_comp ( batch_no ) VALUES ( 2 );
INSERT trans_comp ( batch_no ) VALUES ( 3 );
COMMIT;

CREATE PROCEDURE update_day ( 
   IN @batch_no  INTEGER,
   IN @colday    VARCHAR ( 2 ),
   IN @tothour   INTEGER )
BEGIN
   DECLARE @sql LONG VARCHAR;
   SET @sql = STRING (
      'UPDATE trans_comp SET day',
      @colday,
      ' = ',
      @tothour,
      ' WHERE batch_no = ',
      @batch_no );
   EXECUTE IMMEDIATE @sql;
   COMMIT;
END;

CALL update_day ( 2, '4', 10 );
SELECT * FROM trans_comp ORDER BY batch_no;

batch_no,day1,day2,day3,day4,day5,day6,day7
1,0,0,0,0,0,0,0
2,0,0,0,10,0,0,0
3,0,0,0,0,0,0,0
&lt;/PRE&gt;</description>
    <pubDate>Sat, 15 Jan 2011 16:11:21 GMT</pubDate>
    <dc:creator>Breck_Carter</dc:creator>
    <dc:date>2011-01-15T16:11:21Z</dc:date>
    <item>
      <title>Dynamic column from powerscript to SQL ?</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaq-p/13834755</link>
      <description>&lt;P&gt;Dear all,
I've got table trans_comp with column name 'day1' to 'day31' and batch_no as 
primary key , I do this in powerscript and It works well&lt;/P&gt;

&lt;PRE&gt;ls_colday = '4'
li_tothour = 10
ls_sql = 'update trans_comp set day' + string(ls_colday) + ' = ' + 
string(li_tothour) + " where batch_no = '" +  a_batchno  + "';"
    execute immediate: ls_sql;
&lt;/PRE&gt;

&lt;P&gt;The problem is I want to write it down as a trigger in SQLAnywhere10 DB, is 
there any way to do this? How to write this syntax into a sql statement ?
Thanks for all your help &lt;/P&gt;</description>
      <pubDate>Sat, 15 Jan 2011 10:51:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaq-p/13834755</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-15T10:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic column from powerscript to SQL ?</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834756#M4865599</link>
      <description>&lt;P&gt;Please explain why you need a trigger.&lt;/P&gt;

&lt;P&gt;If you are asking "How do I do EXECUTE IMMEDIATE in SQL Anywhere 10?" here is a demonstration using a stored procedure:&lt;/P&gt;

&lt;PRE&gt;CREATE TABLE trans_comp (
   batch_no INTEGER NOT NULL PRIMARY KEY,
   day1     INTEGER NOT NULL DEFAULT 0,
   day2     INTEGER NOT NULL DEFAULT 0,
   day3     INTEGER NOT NULL DEFAULT 0,
   day4     INTEGER NOT NULL DEFAULT 0,
   day5     INTEGER NOT NULL DEFAULT 0,
   day6     INTEGER NOT NULL DEFAULT 0,
   day7     INTEGER NOT NULL DEFAULT 0 );

INSERT trans_comp ( batch_no ) VALUES ( 1 );
INSERT trans_comp ( batch_no ) VALUES ( 2 );
INSERT trans_comp ( batch_no ) VALUES ( 3 );
COMMIT;

CREATE PROCEDURE update_day ( 
   IN @batch_no  INTEGER,
   IN @colday    VARCHAR ( 2 ),
   IN @tothour   INTEGER )
BEGIN
   DECLARE @sql LONG VARCHAR;
   SET @sql = STRING (
      'UPDATE trans_comp SET day',
      @colday,
      ' = ',
      @tothour,
      ' WHERE batch_no = ',
      @batch_no );
   EXECUTE IMMEDIATE @sql;
   COMMIT;
END;

CALL update_day ( 2, '4', 10 );
SELECT * FROM trans_comp ORDER BY batch_no;

batch_no,day1,day2,day3,day4,day5,day6,day7
1,0,0,0,0,0,0,0
2,0,0,0,10,0,0,0
3,0,0,0,0,0,0,0
&lt;/PRE&gt;</description>
      <pubDate>Sat, 15 Jan 2011 16:11:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834756#M4865599</guid>
      <dc:creator>Breck_Carter</dc:creator>
      <dc:date>2011-01-15T16:11:21Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic column from powerscript to SQL ?</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834757#M4865600</link>
      <description>&lt;P&gt;Thanks alot, this is the answer that I'm looking for.&lt;/P&gt;</description>
      <pubDate>Sun, 16 Jan 2011 13:05:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834757#M4865600</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-16T13:05:42Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic column from powerscript to SQL ?</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834758#M4865601</link>
      <description>&lt;P&gt;can we use  EXECUTE IMMEDIATE in triggers ?&lt;/P&gt;</description>
      <pubDate>Sun, 16 Jan 2011 17:36:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834758#M4865601</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-16T17:36:21Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic column from powerscript to SQL ?</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834759#M4865602</link>
      <description>&lt;P&gt;Yes. A test I ran back in July showed a problem in Adaptive Server Anywhere Database Engine Version 9.0.2.3575 Correlaton name 'new_name' not found SQLCODE=-142, ODBC 3 State="42S02". Further tests in 10.0.1.3415, 11.0.1.2276 and 12.0.0.2589 did not have that problem. I do not know about earlier versions, but it &lt;STRONG&gt;should&lt;/STRONG&gt; work.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jan 2011 13:01:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-column-from-powerscript-to-sql/qaa-p/13834759#M4865602</guid>
      <dc:creator>Breck_Carter</dc:creator>
      <dc:date>2011-01-18T13:01:35Z</dc:date>
    </item>
  </channel>
</rss>

