728x90

인포믹스 클라이언트 CSDK 3.70.xC3 이전 버전에는 dbaccess 유틸리티가 포함되어 있지 않습니다.

클라이언트에서 dbaccess를 사용하려면 서버의 dbaccess 파일을 복사하여 사용하는 방법이 있습니다.

기본적으로 인포믹스 서버 설치파일의 $INFORMIXDIR/msg, $INFORMIX/gls 하위 디렉토리 및 파일과 $INFORMIXDIR/bin/dbaccess 파일은 필수적으로 필요합니다.

msg의 citoxmsg.pam, cli3xmsg.pam, clixmsg.pam, itoxmsg.pam 파일도 포함하여 복사하시는 것이 좋습니다. 없을 경우 오류가 발생한 적이 있었습니다.


Question

How to use dbaccess in stand-alone CSDK without Server installation

Cause

There is no dbaccess in CSDK before CSDK 3.70 xC3. It is only provided with Server installation before that CSDK version.

Answer

dbaccess can be used in client side without server installation with the following steps.

1. Copy dbaccess from Server side to CSDK installation directory,such as $CSDKDIR/bin

2. Copy all files in '$INFORMIXDIR/msg/en_us/0333' from server side to CSDK corresponding directory,such as '$CSDKDIR/msg/en_us/0333'

Then dbaccess can be used in client side without Server installation.


3.70.xC3 이후 부터는 클라이언트에 dbaccess가 포함되므로 최근 버전을 사용하시는 경우라면 해당사항이 없습니다.


http://www-01.ibm.com/support/docview.wss?uid=swg21653640

http://www-01.ibm.com/support/docview.wss?uid=swg21613481&myns=swgimgmt&mynp=OCSSGU8G&mync=E

728x90
728x90

Question

This document explains what a tblspace-tblspace (also referred as tablespace-tablespace and partition-partition) is and how it relates to other tables in an instance.

Answer

What is TBLspace TBLspace?

You are running IBM® Informix® Dynamic Server (IDS) database server and create a regular Dbspace. This Dbspace contains an internal table called TBLspace TBLspace. You cannot access the table using SQL commands.

What it does?

The TBLspace TBLspace table tracks all the partitions (tables or indexes) that you create in a Dbspace, including itself. You can track every table, detached index, or table fragment in the TBLspace TBLspace table through a partition page. The first partition page contains information about the TBLspace TBLspace table itself and the following partition pages track other tables. The partition page contains important information about a table and you can see part the data using theoncheck -pt command (oncheck  -pt database:table):


    oncheck   -pt database : table 

      database
        name of the database 
      table
        name of the table 

When you create a TBLspace TBLspace table, it has an initial extent of 50 pages on version 7.x and 250 pages on 9.x. In addition, when the first extent gets full, a new extent is allocated in one of the chunks of the Dbspace. This may cause a problem because if you create a new extent of the TBLspace TBLspace table on a chunk that needs to be dropped the server will report an error saying that the chunk is not empty. This will happen even if there is no user data in it. 
Even though the TBLspace TBLspace is not accessible through SQL you can still see the extents that are allocated in the chunks of the Dbspace using theoncheck -pe command. 

    Example: 

    The following is a partial output of an  oncheck -pe run on an IDS 7.x system. It is the first extent (50 pages) of the TBLspace TBLspace in chunk 2:

      DBspace Usage Report: dbs1        Ownner: informix  Created: 10/11/2003 

      Chunk: 2 /informix/dbs1_chunk1 Size Used  Free 
                                      5000   53  4947 

      Disk usage for Chunk 2      Start  Length 

      ------------------------------------------- 
       OTHER RESERVED Pages         0      2 
       CHUNK FREE LIST PAGE         2      1 
        TBLSPACE TBLSPACE             3      50 
       FREE                        53     4947 

      Chunk: 3 /informix/dbs1_chunk2 Size Used Free 
                                      5000   3  4997 
      Disk usage for Chunk 3        Start   Length 
      -------------------------------------------- 
         OTHER RESERVED Pages         0      2 
         CHUNK FREE LIST PAGE         2      1 
         FREE  


728x90
728x90

Since IDS Version 10.00 dbspaces can be created with other than the default 2k/4k pagesize.


This feature has multiple benefits:

less disk I/O with larger pagesizes (8k ... 16k)

more rows per data/index page (max. 255 Rows / data page)

higher upper limit of rows per table (max. 16777216 pages / table fragment)

higher upper limit of table/index extents

reduce "-136 ISAM error: no more extents." Errors



Example (stores_demo database):

 


IDS 7.31, 9.40, 10.00, 11.50 / 2k dbspace pagesize:

database_name   stores_demo


tabname         customer

dbspace_name    root_dbs

extents_act     140

max_extents     232

 




IDS 10.00, 11.50 / 16k dbspace pagesize:

database_name   stores_demo

tabname         customer

dbspace_name    dat_dbs16k_001

extents_act     351

max_extents     2023

 

 


You can use the following select to show the upper limit of table/index extent sizes:


 

SELECT --+ORDERED,INDEX(a,systabs_pnix),INDEX(b,sysptnhdridx),INDEX(c,syspaghdridx),INDEX(d,sysdbstab_dbsnum)

       a.dbsname AS database_name,

       a.tabname,

       d.name AS dbspace_name,

       b.nextns AS extents_act,

       TRUNC(c.pg_frcnt / 8) + b.nextns AS max_extents

 FROM sysmaster:sysdbstab d,

      sysmaster:syspaghdr c,

      sysmaster:systabnames a,

      sysmaster:sysptnhdr b

  WHERE c.pg_partnum = sysmaster:partaddr(d.dbsnum, 1)

    AND sysmaster:bitval(c.pg_flags, 2) = 1

    AND c.pg_nslots = 5

    AND a.partnum = sysmaster:partaddr(d.dbsnum, c.pg_pagenum)

    AND a.partnum = b.partnum;



https://www.ibm.com/developerworks/community/blogs/informix_admins_blog/entry/ids_pagesize_and_maximum_number_of_extents5?lang=en

http://www-304.ibm.com/support/knowledgecenter/api/content/nl/ko/SSGU8G_11.50.0/com.ibm.perf.doc/ids_prf_311.htm

http://www-304.ibm.com/support/knowledgecenter/api/content/nl/ko/SSGU8G_11.50.0/com.ibm.perf.doc/ids_prf_316.htm

728x90
728x90

Question

How does Informix use temporary dbspaces according to database logging mode, SQL statement WITH NO LOG, temp dbspace parameters settings, etc.?

Answer

INTRODUCTION

IBM® Informix® Dynamic Server (IDS) uses two types of temporary objects to store temporary data:temporary files and temporary tables. How Informix server use the temporary dbspace depends on whether temporary objects are logged or not.

IDS has many factors that effect this, such as database logging mode, create temp table WITH NO LOG, DBSPACETEMP or PSORT_DBTEMP setting, how a temporary space is created, and so on.

Temporary tables in the server can be automatically routed to a dbspace. The DBSPACETEMP environment variable can be set to one or more dbspaces. If the DBSPACETEMP environment variable is not set, the server uses the value of the DBSPACETEMP configuration parameter. Temporary tables are fragmented across the dbspaces listed in either the environment variable or the configuration parameter. This occurs regardless of whether the query is a PDQ query or not.

DBSPACETEMP config값 또는 환경변수에 명시한 dbspace를 사용하여 round-robin fragmented 테이블이 생성된다.

If DBSPACETEMP is not specified, the temporary table is placed in either the root dbspace or the dbspace where the database was created. SELECT...INTO TEMP statements place the temporary table in the root dbspace. CREATE TEMP TABLE statements place the temporary table in the dbspace where the database was created.

DBSPACETEMP에 명시한 dbspace를 먼저 사용한다. 명시된 dbspace가 없다면 데이터베이스가 생성된 dbspace를 사용한다.

Temporary files can be created in either dbspaces or in file-system space. If PSORT_DBTEMP is set to one or more directories, temporary files are created in round-robin fashion across all the directories listed (the first file in one directory and the second file in the next) regardless of whether the sort is a parallel sort or not. If the PSORT_DBTEMP environment variable is not set, temporary files are fragmented across the dbspaces listed in the DBSPACETEMP environment variable. This means space is allocated and utilized in all the dbspaces for a single temporary file regardless of whether the query is a PDQ query or not. If the DBSPACETEMP environment variable is not set, the dbspaces listed in the DBSPACETEMP configuration parameter are used to store temporary files.

PSORT_DBTEMP와 DBSPACETEMP 환경변수는 DBSPACETEMP config 설정값보다 우선한다.

RECOMMENDATION

It is recommended that you create multiple temporary dbspaces on different devices in your server instance. A performance benefit results because temporary dbspaces are not logged nor are they archived. Also, when temporary files and tables are created they are fragmented across the available temporary dbspaces, therefore enabling parallel access.

Temporary tables should be created in a dbspace that is specifically designated for temporary tables within the Informix system. A temporary dbspace does not accommodate logging. Therefore, temporary tables created in a temporary dbspace must be from an unlogged database or be created using the syntax WITH NO LOG.

If your database is not logged and DBSPACETEMP exists, then temporary tables are created automatically in DBSPACETEMP. In databases that are logged, temporary tables are logged by default and are not created in DBSPACETEMP. To utlize the DBSPACETEMP feature it is necessary to append the SQL phase WITH NO LOG to either the SELECT...INTO TEMP, or the CREATE TEMP TABLE statements.

로깅 데이터베이스에서 TEMPTAB_NOLOG config 는 0이고, TEMP 테이블 생성시 WITH NO LOG 옵션을 사용하지 않는다고 가정

EXAMPLES

Assuming the databases has logging:

1. If we have created a dbspace named tmpdbs,but we could not see it was marked as 'T' in the result of onstat -d. We set DBSPACETEMP configuration parameter to tmpdbs.
On this condition, tmpdbs will be used for logged temporary tables.That means if a temp table is created with 'WITH NO LOG' option, the server will not use it.

2. If we have created a temporary dbspace (it was marked as 'T' in the result of onstat -d). However, we have not set the DBSPACETEMP configuration parameter to this tmpdbs.
On this condition,the tmpdbs dbspace will not be used when creating temporary tables unless you specify the "in dbspace" clause when creating the temporary table.


How Informix Dynamic Server uses the temporary dbspace

http://www-01.ibm.com/support/docview.wss?uid=swg21292093


Preventing Informix Servers system overload from intensive I/O activity

http://www-01.ibm.com/support/docview.wss?uid=swg21567274


728x90
728x90

인포믹스 11.5버전에서 sysmaster DB 통계갱신을 MEDIUM/HIGH 모드로 실행했을 때 오류가 발생합니다.

10버전에서는 아래와 같이 오류가 발생했었습니다.

 

$ dbaccess sysmaster -

 

Database selected.

 

> update statistics high;

 

  243: Could not position within a table (informix.syscrtadt).

 

  158: ISAM error: Operation disallowed on SMI pseudo table

 

 

 

11.5버전에서는 아래와 같이 오류가 발생합니다.

 

$ echo "update statistics high " | dbaccess sysmaster

 

Database selected.

 

 

  244: Could not do a physical-order read to fetch next row.

 

  101: ISAM error:  file is not open.

 

low 모드로 통계갱신을 수행하면 이상이 없습니다.

medium, high 모드로는 오류가 발생하는 것이 정상으로 보입니다.

 

 

 

IC91526: UPDATE STATISTICS MEDIUM OR HIGH on SYSMASTER DATABASE PRODUCES LOTS OF ERROR MESSAGES IN MESSAGE LOG AND FAILS WITH ERROR 158

http://www-01.ibm.com/support/docview.wss?uid=swg1IC91526

 

 

IC70263: SELECT FROM REMOTE TABLES RETURNS ERROR 245 AND 101 AFTER UPDATESTATISTICS MEDIUM OR HIGH.

https://www.ibm.com/support/pages/apar/IC70263

 

 

728x90
728x90

Technote (FAQ)


Question

Can the sysmaster database be dropped manually?

Cause

Although it is not recommended to drop the System Monitoring Interface for Informix, yet under some circumstances a need might exist to drop the sysmaster database.

Answer

Steps:

  1. dbaccess sysmaster -
  2. delete from systables where tabid > 99 and partnum < '0x100000';
  3. delete from systables where tabname = 'sysdbspartn';
  4. close database;
  5. drop database sysmaster;



http://www-01.ibm.com/support/docview.wss?uid=swg21444237

728x90
728x90

I believe that the answer you need is a user-defined aggregate, similar to this one:

CREATE FUNCTION gc_init(dummy VARCHAR(255)) RETURNING LVARCHAR;
    RETURN '';
END FUNCTION;
CREATE FUNCTION gc_iter(result LVARCHAR, value VARCHAR(255))
    RETURNING LVARCHAR;
    IF result = '' THEN
        RETURN TRIM(value);
    ELSE
        RETURN result || ',' || TRIM(value);
    END IF;
END FUNCTION;
CREATE FUNCTION gc_comb(partial1 LVARCHAR, partial2 LVARCHAR)
    RETURNING LVARCHAR;
    RETURN partial1 || ',' || partial2;
END FUNCTION;
CREATE FUNCTION gc_fini(final LVARCHAR) RETURNING LVARCHAR;
    RETURN final;
END FUNCTION;
CREATE AGGREGATE group_concat
    WITH (INIT = gc_init, ITER = gc_iter,
          COMBINE = gc_comb, FINAL = gc_fini);

Given a table of elements (called elements) with a column called name containing (funnily enough) the element name, and another column called atomic_number, this query produces this result:

SELECT group_concat(name) FROM elements WHERE atomic_number < 10;
Hydrogen,Helium,Lithium,Beryllium,Boron,Carbon,Nitrogen,Oxygen,Fluorine

Applied to the question, you should obtain the answer you need from:

SELECT id, group_concat(codes)
    FROM anonymous_table
    GROUP BY id;

CREATE TEMP TABLE anonymous_table
(
    id      INTEGER NOT NULL,
    codes   CHAR(4) NOT NULL,
    PRIMARY KEY (id, codes)
);
INSERT INTO anonymous_table VALUES(63592, 'PELL');
INSERT INTO anonymous_table VALUES(58640, 'SUBL');
INSERT INTO anonymous_table VALUES(58640, 'USBL');
INSERT INTO anonymous_table VALUES(73571, 'PELL');
INSERT INTO anonymous_table VALUES(73571, 'USBL');
INSERT INTO anonymous_table VALUES(73571, 'SUBL');
INSERT INTO anonymous_table VALUES(73572, 'USBL');
INSERT INTO anonymous_table VALUES(73572, 'PELL');
INSERT INTO anonymous_table VALUES(73572, 'SUBL');
SELECT id, group_concat(codes)
    FROM anonymous_table
    GROUP BY id
    ORDER BY id;

The output from that is:

58640 SUBL,USBL
63592 PELL
73571 PELL,SUBL,USBL
73572 PELL,SUBL,USBL

The extra set of data was added to test whether insert sequence affected the result; it appears not to do so (the codes are in sorted order; I'm not sure whether there's a way to alter - reverse - that order).


Note that this aggregate should be usable for any type that can be converted to VARCHAR(255), which means any numeric or temporal type. Long CHAR columns and blob types (BYTE, TEXT, BLOB, CLOB) are not handled.



http://stackoverflow.com/questions/715350/show-a-one-to-many-relationship-as-2-columns-1-unique-row-id-comma-separate?answertab=votes#tab-top

http://stackoverflow.com/questions/489081/group-concat-in-informix

728x90
728x90

data studio를 통해 인포믹스 액세스 플랜을 조회할 때 몇가지 시행착오에 대해 정리했습니다.

추적 파일 옵션을 켜고 파일 내용을 살펴본 것이 도움이 되었습니다.


1. 먼저 인포믹스 서버에 DRDA 프로토콜 연결 엔트리를 작성합니다. (drsoctop)

DRDA 프로토콜 연결이 아닌경우, 액세스 플랜을 조회하면 아래와 유사한 오류가 발생합니다.


[jcc][t4][2030][11211][3.68.61] 연결의 기본 소켓, 소켓 입력 스트림 또는 소켓 출력 스트림에 대한 조작 중에 통신 오류가 

발생했습니다. 오류 위치: Reply.fill() - insufficient data (-1). 메시지: 충분하지 않은 데이터. ERRORCODE=-4499, SQLSTATE=08001



2. Smart blob dbspace가 필요합니다.

원격에서 액세스 플랜을 조회할 때 XML형식의 데이터를 출력하는데 이를 위해 smart blob dbspace가 필요한 모양입니다. 


Invalid default sbspace name (sbspace).. SQLCODE=-9814, SQLSTATE=IX000, DRIVER=3.68.61

IDS_SBPSACE_NOT_CREATED: no message found for the key



3. Data Studio가 한글 환경일때 EXTDIRECTIVES, OPTIMLEVEL 등의 변수값을 영어로 수정해야 합니다.

한글 환경에서는 액세스 플랜 출력에 필요한 일부 변수값이 한글인 경우가 있습니다.

드롭다운 메뉴이기는 하지만 직접 입력하여 수정이 가능합니다.


COLLATION : en_us.8859-1 (한글의 경우 ko_kr.ksc, ko_kr.cp949, ko_kr.utf8)

EXTDIRECTIVES : on/OFF

OPTIMLEVEL : LOW/HIGH


변수가 한글 또는 잘못된 값인 경우 아래와 유사한 오류가 발생합니다.

Invalid values specified for the OPTIMLEVEL environment variable. SQLCODE: -26041, SQLSTATE: IX000



1. IBM Informix Developer’s Handbook (redbook)

2. Use EXPLAIN_SQL with any tool (Fernando Nunes)

3. http://informix-technology.blogspot.kr/2012/12/execution-plans-on-client-planos-de.html

728x90
728x90


질문

Smart blobspace는 Blob data와 다른 특징들을 가지고 있다, 해당 특징을 잘 이해한다면, 효율적으로 데이타를 관리할수 있을것이다.

응답

아래의 내용은 Smart Blob space에 대한 특징을 전체적으로 정리한 내용이다. Smart blobspace의 특성에 대하여 이해를 하고, 이를 효율적으로 사용하게 하는데 목적이 있다.
참고로, 아래의 내용은 IDS11.5기준으로 작성된 내용이며, 자세한 내용은 버젼에 따라 차이점이 있을수 있습니다.

1. Sbspace의 특징

Smart blob 데이타는 일반 데이타의 저장방법과 다른 방법으로 저장 및 조회가 된다.

Smart Large Object 사용과 관련하여, Sbspace를 사용하는 경우, Sbspace에는 아래와 같이 3가지의 데이타 영역을 가지고 있다.

1) Meta Data area : sbspace 생성시 Meta데이타 영역의 크기를 지정하여 줄수 있다(또는 default 생성). LO데이타에 대한 Accesstime, update된 내용등이 로깅된다.

2) User Data area : 각각의 LO데이타 하나가 하나의 extent와 같은 개념. - 하나의 LO데이타를 저장하기 위한 page의 set으로 구성된다.

3) Reserved area : Sbspace에 청크가 추가될때/생성될때, User Data영역의 40%를 reserved 영역으로 설정하게 된다. 이는 Sbspace영역을 효율적으로 관리/사용하기 위한 방법으로서, 해당 청크의 Meta데이타 또는 User데이타 영역이 full이 된경우에, reserved 영역의 일부를 Meta데이타영역, 또는 User데이타영역으로 전환하여 사용한다. 이는, 기존, Meta데이타와, User데이타 영역으로만 구분되어 있을때, 어는 한쪽이 먼저 full이 되는경우, 나머지 영역의 free영역을 사용할수 없게 됨으로써, 디스크영역을 효율적으로 사용하지 못한점을 개선하여, 어느쪽에서 속하지 않은 영역을 미리 확보하여, 시스템 구조상 많이 사용하게 되는 데이타 영역을 확장하여 줌으로써, 최대한 디스크영역을 효율적으로 사용할수 있게 하였다.


다음은 Sbspace의 Meta Data의 구조에 대한 설명이다. 아래와 같은 데이타들이 default로 저장이 된다.

- sbspace descriptor tblspace : 최초 생성이후 증가하지 않음
- chunk adjust tblspace : sbsp에 chunk가 추가되는 경우에 증가됨
- Level-1 archive tblspace
- Level-2 archive tblspace
- Chunk LO header tblspace : 청크가 추가될때 증가됨
- Chunk user-data free-list tblspace : chunk가 많이 쪼개질수록, 증가한다 ( 즉, 작은 크기의 sblob가 많이 저장될수록 많이 증가하게된다 )


아래는 sbspace에 대하여 'oncheck -pe' 결과이다.

-----------------------------------------------------------------------------
% oncheck -pe mysbsp


DBspace Usage Report: mysbsp Owner: informix Created: 09/23/2012


Chunk Pathname Pagesize(k) Size(p) Used(p) Free(p)
2 /myids/chunk/sdatadbs.115 4 25000 see below see below

Description Offset(p) Size(p)
------------------------------------------ -------- --------
RESERVED PAGES 0 2
CHUNK FREELIST PAGE 2 1
sbsp:'informix'.TBLSpace 3 50
SBLOBSpace LO [2,2,1] 53 100
SBLOBSpace LO [2,2,2] 153 20
SBLOBSpace LO [2,2,3] 173 100
SBLOBSpace LO [2,2,4] 273 20
SBLOBSpace LO [2,2,5] 293 100
SBLOBSpace LO [2,2,6] 393 20
SBLOBSpace LO [2,2,7] 413 100
SBLOBSpace LO [2,2,8] 513 20
SBLOBSpace LO [2,2,9] 533 100
SBLOBSpace LO [2,2,10] 633 20
SBLOBSpace FREE USER DATA (AREA 1) 653 6049
SBLOBSpace RESERVED USER DATA (AREA 1) 6702 4988
sbsp:'informix'.sbspace_desc 11690 4
sbsp:'informix'.chunk_adjunc 11694 4
sbsp:'informix'.LO_ud_free 11698 32
sbsp:'informix'.LO_hdr_partn 11730 557
SBLOBSpace FREE META DATA 12287 1076
SBLOBSpace RESERVED USER DATA (AREA 2) 13363 4988
SBLOBSpace FREE USER DATA (AREA 2) 18351 6649

Total Used: 1250
Total SBLOBSpace FREE META DATA: 1076
Total SBLOBSpace FREE USER DATA: 22674
----------------------------------------------
파란색은, user data관련된 영역
녹색은, Meta data관련된 영역
빨강색은 Reserved 데이타 영역입니다.
-------------------------------------------------------------------------------------
일반적으로 초기에 할당된 Meta데이타영역을 다 소진하고, 추가로 할당되는 경우에는, 내부적으로 시스템이 그 크기를 결정하게 되므로, 임의로 증가하는 크기를 지정하여 줄수 없다.

참고 : Structure of the Meta Data
http://publib.boulder.ibm.com/infocenter/idshelp/v115/topic/com.ibm.adref.doc/ids_adr_0337.htm?resultof=%22%6d%65%74%61%64%61%74%61%22%20



2. Smart blob 및 이의 Meta Data에 모니터링 방법

위의 'oncheck -pe'의 결과에서 Meta 데이타의 가용영역을 확인하기 위하여는 "FREE META DATA" 크기와, "RESERVED USER DATA (AREA 1/2)" 가 얼마나 남아있는지가 중요한 요소가 된다. 이에 대한 값을 확인후, 여유가 없는 경우에는 청크를 추가하여 주어야 한다.

참고 : Sbspace 모니터링
http://publib.boulder.ibm.com/infocenter/idshelp/v115/topic/com.ibm.admin.doc/ids_admin_0637.htm


3. sbspace와 관련하여, online.log에 표시되는 메세지

Sbspace의 Metadata 관련하여 아래와 같은 메세지가 MSGPATH로그에 표시될수 있다. 
위에서 설명한 바와 같이, sbspace의 영역을 효율적으로 관리하기 위하여 선할당 되었던, reserved 영역이, Meta데이타 또는 User데이타 영역으로 할당 또는 free되는 과정에서 online.log에 아래와 같은 메세지들이 로깅될수 있습니다.

1) Allocated number pages to Metadata from chunk number.
2) Allocated number pages to Userdata from chunk number.
3) Freeing reserved space from chunk number to Metadata.
4) Freeing reserved space from chunk number to Userdata.

Freeing reserved space from chunk number to Userdata.
Cause : The user-data area in chunk number is full. The database server is trying to free space from the reserved area to the user-data area.
Action : None required.


참고 : Sbspace Metadata Messages.
http://publib.boulder.ibm.com/infocenter/idshelp/v115/topic/com.ibm.adref.doc/ids_adr_0716.htm?resultof=%22%6d%65%74%61%64%61%74%61%22%20


http://www-01.ibm.com/support/docview.wss?uid=swg21631385&myns=swgimgmt&mynp=OCSSGU8G&mync=E

728x90
728x90


Question

How to perform a dummy update on a table to remove any inplace alters.

Answer

UPDATE tab1 SET col1=col1 WHERE 1=1 ; The table name in this example is tab1, the column name is col1. one restriction is that the column chosen must be numeric.


http://www-01.ibm.com/support/docview.wss?uid=swg21674841&myns=swgimgmt&mynp=OCSSGU8G&mync=E

728x90

+ Recent posts