Untitled Document
Ȩ > FAQ
 
 


Q.1 Column size º¯°æÀ» ÇϱâÀ§ÇØ ALTER TABLE STORE ALTER SND_FN SET DATA TYPE VARCHAR (11).Áï SND_FN COLUMN Å©±â´Â 11·Î ¸¸µé·Á°í Çϴµ¥ ´ÙÀ½ÀÇ ¿À·ù°¡ ³ª´Â±º¿ä..SQL0104N An unexpected token "ALTER TABLE STORE ALTER SND_FN SET DATA TY" was found following "BEGIN-OF-STATEMENT". Expected tokens may include: "". SQLSTATE=42601.version¿¡ µû¶ó Áö¿øÀÌ µÇÁö ¾Ê´Â´Ù¸é, ¾î¶»°Ô ÇÏ´Â°Ô ÁÁÀºÁö ¾Ë·ÁÁֽñ⠹ٶø´Ï´Ù. tableÀ» ´Ù½Ã ¸¸µé¾î¾ß ÇÏ´ÂÁö....
 
´äº¯º¸±â

Q.2 DATEÇü¿¡ ÀԷ¹æ¹ýÀÌ ±Ã±ÝÇÕ´Ï´Ù.
Ä÷³ÀÇ Çü½ÄÀ» DATE·Î Àâ¾Ò´Âµ¥, insert into¿¡¼­ ¾î¶»°Ô °ªÀ» ÀÔ·ÂÇØ¾ß ÇÏ´ÂÁö ¸ð¸£°Ú³×¿ä.
insert into test (BirthDay) values (???)
2000.10.17
´äº¯º¸±â
 
Q.3 A,B µÎ°³ÀÇ Å×ÀÌºí¿¡¼­.. A¿¡´Â Á¸ÀçÇϰí B¿¡´Â ÀÖÁö¾ÊÀº °Í¸¸À» selectÇÏ·Á°í ÇÕ´Ï´Ù.
sql Ã¥À» Âü°í Çß´õ´Ï.. minus ¶ó´Â ÇÔ¼ö°¡ ÀÖ´õ±º¿ä¡¦
2000.5.20
´äº¯º¸±â
 
¿©·¯°³ÀÇ Å×À̺íÀ» full outer joinÇÒ·Á¸é ¾î¶»°Ô ÇØ¾ß Çϳª¿ä? À½.. 7°³ Á¤µµÀÇ Å×À̺íÀ» Á¶ÀÎÇÒ·Á±¸ Çϴµ¥¿¡¿ä.. ¿¬¼ÓÀûÀ¸·Î ¿©·¯°³ Å×À̺íÀ» joinÇÏ´Â ¹ýÁ» ¾Ë·ÁÁֽñ⠹ٶø´Ï´Ù.
2000.10.11
 ´äº¯º¸±â
 
Q.5 ÇöÀ糯¥¿¡¼­ 30ÀÏÀ̳» µ¥ÀÌÅ͸¦ ¾ò°í½Í½À´Ï´Ù.
ÇöÀ糯¥(values(current date)) - Çʵ尪( 2000-10-01 ) <= 30 À» ½ÇÇàÇß½À´Ï´Ù.
±×·±µ¥ ÀÌ·¸°Ô ÇÏ¸é ¸Â´ÂÁÙ ¾Ë¾Ò´Âµ¥ °£ÀÌ µ¥ÀÌÅ͸¦ ³Ö°í ÇöÀ糯¥(DATE( 2001-01-10 ) - Çʵ尪( 2000-12-25 ) <= 30 À» ½ÇÇàÇß½À´Ï´Ù.
±×·¯¸é »ó½ÄÀûÀ¸·Î 2000-12-01ºÎÅÍ 2001-01-09 ±îÁöÀÇ µ¥ÀÌÅ͸¦ ¾òÀ» ÁÙ ¾Ë¾Ò´Âµ¥¿ä.
2000³âµµ¿¡ ÇØ´çµÇ´Â Àüü µ¥ÀÌÅ͸¦ ¾ò´õ±º¿ä ±â°£¾ÈÀÇ µ¥ÀÌÅ͸¦ ¾òÀ¸·Á¸é ¾î¶»°Ô ÇØ¾ß Çϳª¿ä
2000.10.16
´äº¯º¸±â
Q.6 ÇʵåÀÇ ÀÚ¸®¼ö º¯°æ°ú Ãß°¡ µîÀº ¾Ë°Ú´Âµ¥ Not Null¿É¼Çµµ Ãß°¡ÇÒ ¼ö ÀÖ³ª¿ä?
2000.10.30
´äº¯º¸±â
Q.7

db2¿¡¼­ÀÇ case ¹®°ú group by Àý »ç¿ë¹ýÁ» ¾Ë·ÁÁÖ¼¼¿© .
Oracle °ú Ms-Sql¸¸ ½áº» ÇÁ·Î±×·¡¸ÓÀÔ´Ï´Ù.
±×·±µ¥ À̹ø¿¡ db2·Î ÇÁ·Î±×·¥À» ÇØ¾ßÇϴµ¥ Çü½ÄÀ» Àß ¸ô¶ó¼­¿© .
¾Æ·¡´Â Á¦°¡ MS-Sql7.0¿¡¼­ ÁÖ·Î ¾²´Â Sql ¹®ÀåÀε¥ db2¿¡¼­´Â ¾î¶»°Ô ¹Ù²ã¾ß ÇÏ´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.

select count(*) cnt,
case when SUBSTRING(PEOPNO, 7, 1) = 1
Then MAN
when SUBSTRING(PEOPNO, 7, 1) = 2
Then WOMAN
end MW
from Å×À̺í¸í
group by
case
when SUBSTRING(PEOPNO, 7, 1) = 1
Then MAN
when SUBSTRING(PEOPNO, 7, 1) = 2
Then WOMAN
end
 
Table Data
----------
7402081000000
7612122000000
7812021000000
7403152000000
7401021000000

°á°ú°ª
Ms-SqlÀÇ °á°ú°ª
-------------------
MW     CNT
---------- --------
MAN     3
WOMAN    2
-------------------
CONTINUE
2000.10.13
´äº¯º¸±â
Q.8 1. MS-SQL ¿¡¼­ »ç¿ëÇÏ´ø SELECT TOP 10 * FROM SomeTable°ú °°ÀÌ TOP±¸¹®À» »ç¿ëÇÏ°í ½ÍÀºµ¥ ±¸¹® ¿À·ù°¡ ³³´Ï´Ù. ¾î¶»°Ô ÇØ¾ß Çϳª¿ä?
2. ÀÌ¿Í °°Àº ±¸¹®¿¡ ´ëÇÑ ¼³¸íÀ» ÂüÁ¶Çϱâ À§Çؼ­´Â µµ¿ò¸» ÆÄÀÏ °°Àº °ÍÀÌ ¾ø´ÂÁö¿ä? MS-SQLÀÇ °æ¿ì BooksOnlineÀ̶ó´Â °É ÆÄÀÏ·Î Áö¿øÇϴµ¥ IBM db2µµ ÀÖ´Â°Í °°À¸³ª °Ë»ö±â´ÉÀÌ ¸ÔÅëÀ̳׿±...(ºó ÆäÀÌÁö°¡ °á°ú.. -_-;)
3. Å×ÀÌºí »ý¼º ÀÌÈÄ Á¦¾î ¼¾ÅÍ¿¡¼­ 'º¯°æ'À¸·Î Ä÷³ ¸íÀ» º¯°æÇÏ°í ½Í½À´Ï´Ù¸¸ º¯°æÀ» ´©¸£¸é ÀԷ¶õÀÇ ±Û¾¾°¡ ȸ»öÀ¸·Î µÇ¾î À־ º¯°æÀ» ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù..
2000.8.10
´äº¯º¸±â
 

 

 

 


A.1
¹öÀü ¹®Á¦°¡ ¾Æ´Ï¶ó command¸¦ À߸øÄ¡¼Ì¾î¿ä. ¾Æ·¡¿¡¼­ ¾î¶² ºÐÀÌ ¸»¾¸ÇϽŴë·Î sql0104¿¡·¯´Â ¸í·É¹®À» À߸øÃÆÀ» ¶§ ³ª¿Â´ä´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù..ALTER TABLE STORE ALTER column SND_FN SET DATA TYPE VARCHAR (11).Áï, alter column À̶ó°í ÀÔ·ÂÇÏ¼Å¾ß µÇ´Âµ¥ columnÀÌ ºüÁ³³×¿ä.

Àá±ñ!
ALTER TABLE tablename ALTER COLUMN [column-alteration]

[column-alteration]
column-name SET DATA TYPE VARCHAR(integer)
CHARACTER VARYING
CHAR VARYING

1. Fixpak3 (3/98)¿¡ µµÀÔµÊ.

2. ±âÁ¸ÀÇ VARCHAR Ä÷³ÀÇ ±æÀ̸¦ Áõ°¡ÇÔ.

3. integer °ªÀº 4000±îÁö »ç¿ëÇÔ.

4. Ä÷³ÀÇ º¯°æÀº ¸ðµç Ä÷³ÀÇ ÃÑ Byte¼ö°¡ Page SizeÀÇ ÃÖ´ë Record Size¸¦ ÃʰúÇØ¼­´Â ¾ÈµÊ. (SQLSTATE 54010)

5. ¸¸¾à Ä÷³ÀÌ Unique Constraint ¶Ç´Â Index¿¡ »ç¿ëµÇ´Â °æ¿ì, »õ·Î¿î Size´Â Unique Constraint ¶Ç´Â IndexÀÇ Ä÷³µéÀÇ ±æÀÌÀÇ ÇÕ°è°¡ 1024 Byte¸¦ Ãʰú ÇØ¼­´Â ¾ÈµÊ. (SQLSTATE 54008)
Âü°í·Î, DB2 UDB for OS/390Àº 254 Byte, DB2 for OS/400Àº 2000 Byte,
   Oracle 7.3Àº 255 Byte, SQL Server 7Àº 900 Byte, Sybase 10Àº 256 Byte,
   Informix 7.2´Â 120 Byte¸¦ ÃʰúÇØ¼­´Â ¾ÈµÊ

µ¹¾Æ°¡±â


A.2 DATE ŸÀÔÀº ³â, ¿ù, ÀÏ ¼¼ºÎºÐ °ªÀ¸·Î Á¤Àǵ˴ϴÙ.. -> 1991-10-27
µû¶ó¼­ insert into test (BirthDay) values ( 1972-05-10 ) ÇÏ½Ã¸é µË´Ï´Ù...

µ¹¾Æ°¡±â


A.3
DB2¿¡´Â except, except all ¶ó´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù. EXCEPT ¿¬»êÀÚ´Â TABLE2°¡ ¾Æ´Ï¶ó TABLE1¿¡ ÀÖ´Â ¸ðµç ÇàÀ» Æ÷ÇÔÇÏ°í ¸ðµç Áߺ¹ ÇàÀ» Á¦°ÅÇÔÀ¸·Î½á °á°ú Å×À̺íÀ» ²ø¾î³À´Ï´Ù. EXCEPT¿Í ALLÀ» °°ÀÌ »ç¿ëÇϸé(EXCEPT ALL), Áߺ¹ ÇàÀº Á¦°ÅµÇÁö ¾Ê½À´Ï´Ù

Except : A¿¡´Â ÀÖ°í B¿¡´Â ¾ø´Â °Í. Áߺ¹µÈ °ÍÀÌ Á¦°ÅµË´Ï´Ù.
Except All : Except¿Í µ¿ÀÏÇϳª Áߺ¹µÈ °ÍÀÌ Æ÷ÇԵ˴ϴÙ.

SELECT ID, NAME FROM STAFF WHERE SALARY > 21000
EXCEPT
SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS < 8

ÀÌ·¸°Ô Çϸé $21,000 ÀÌ»óÀÇ ±Þ¿©¸¦ ¹ÞÀ¸³ª °ü¸®ÀÚ°¡ ¾Æ´Ï°í
8³â ÀÌ»ó ±Ù¹«ÇÑ ¸ðµç Á÷¿øÀÇ À̸§À»
¸®ÅÏÇÕ´Ï´Ù.

µ¹¾Æ°¡±â


A.4
full outer joinÀ» ÇÏ¸é ÆÛÆ÷¸Õ½º¿¡ ¸¹Àº ¿µÇâÀ» Á־ Àß »ç¿ëÇÏÁö´Â ¾ÊÁö¸¸ »ç¿ëÇϽ÷Á¸é, select A.col1, A.col2, B.col3, B.col4, C.col5, C.Col6 from A full outer join B on A.col1 = B.col1 full outer join C on A.col2= C.col5 ¹°·Ð Á¶ÀÎ ¼ø¼­¶óµç°¡ Á¶ÀÎ Ä÷³µî¿¡ ´ëÇØ ¸íÈ®ÇÏ°Ô ¸í½Ã ÇÏ¼Å¾ß °ÚÁÒ

µ¹¾Æ°¡±â


A.5
db2 "select * from Å×À̺í¸í where ³¯Â¥Ä÷³¸í > current date - 30 day À§°¡ °°ÀÌ ÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.

µ¹¾Æ°¡±â

 


A.6
Ä÷³ÀÇ Not NULL ¿É¼ÇÀÇ °æ¿ì´Â ³ªÁß¿¡ ¼öÁ¤ÀÌ ºÒ°¡´É ÇÕ´Ï´Ù.
Å×À̺íÀ» ¸¸µå½Ã¸é¼­

CREATE TABLE PERS (ID SMALLINT NOT NULL,
      NAME VARCHAR(9),
      DEPT SMALLINT WITH DEFAULT 10)

¿Í °°ÀÌ Á¤ÀÇÇØ ÁÖ½Ã¸é µË´Ï´Ù.

µ¹¾Æ°¡±â


A.7
¾Æ·¡¿Í °°ÀÌ ÇÏ½Ã¸é µË´Ï´Ù..


select count(*) cnt,
case when SUBSTR(PEOPNO, 7, 1) = '1'
Then 'MAN'
when SUBSTR(PEOPNO, 7, 1) = '2'
Then 'WOMAN'
end MW
from Å×À̺í¸í
group by
case
when SUBSTR(PEOPNO, 7, 1) = '1'
Then 'MAN'
when SUBSTR(PEOPNO, 7, 1) = '2'
Then 'WOMAN'
end

 

µ¹¾Æ°¡±â


A.8

1. MS-SQL¿¡¼­ »ç¿ëÇϽôø syntax¸¦ ¹Ù·Î »ç¿ëÇÏ½Ç ¼ø ¾ø½À´Ï´Ù. µ¿ÀÏÇÑ °á°ú¸¦ ¾ò±â À§Çؼ­´Â ´ÙÀ½°ú °°Àº ±¸¹®À» »ç¿ëÇϽʽÿÀ. select * from Some Table ......... fetch first 10 rows only

2. [½ÃÀÛ]-[ÇÁ·Î±×·¥]-[IBM DB2]-[Á¤º¸] ¹Ø¿¡ Á¤º¸¼¾ÅÍ¿¡ °¡½Ã¸é ¿Â¶óÀÎ ¸Þ´º¾ó°ú °¢Á¾ ¼­ÀûµéÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

3. Å×ÀÌºí »ý¼º ÀÌÈÄ Á¦¾î ¼¾ÅÍ¿¡¼­ 'º¯°æ'À¸·Î Ä÷³¸íÀ» ¹Ù²Ù½Ç ¼ö ¾ø½À´Ï´Ù.

4. DB2´Â v7 ºÎÅÍ »ç¿ëÀÚ¿¡°Ô Å×ÀÌºí¿¡¼­ °¢ Çà¿¡ ´ëÇØ °íÀ¯ ¼ýÀÚ °ªÀ» »ý¼ºÇϵµ·Ï ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ID Ä÷³Àº °íÀ¯ÇÑ ±âº» Ű °ª »ý¼º¿¡ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ´Â ´Ù¸¥ RDBMS º¥ ´õ¿¡¼­ DB2·Î ID Ä÷³À» »ç¿ëÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥À» À̵¿½Ãų ¼öµµ ÀÖ½À´Ï´Ù. DB2 UDB v6 ¿¡¼­´Â identity columnÀ» ¸¸µå´Â °ÍÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. row ¼ö¸¦ ¾Ë°í ½ÍÀ¸½Ã¸é count functionÀ» »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
ex) db2 select count(*) from table_name

Àá±ñ!
FETCH SIZE

1. ¸®ÅϵǴ µ¥ÀÌŸÀÇ ¾ç¿¡ Á¦ÇÑÀ» µÒ.

2. Á»´õ È¿°úÀûÀÎ ¾×¼¼½º ¹æ¹ýÀ» »ç¿ëÇÔÀ¸·Î½á, ¼º´ÉÀ» Çâ»ó½ÃÅ´.

3. FETCH FIRST k ROWS ONLY

- Fixpak3 (3/98)¿¡ µµÀÔµÊ.
- ÃßÃâÇÒ RowÀÇ ÃÖ´ë°ªÀ» ¼³Á¤.
- k RowÀÌ»óÀÇ ¼ö´Â ÃßÃâµÇÁö ¾Ê½¿.
- OPTIMIZE FOR n ROWS°¡ ¾ø´Â °æ¿ì, Result TableÀÇ ¸ðµç Row°¡ ÃßÃ⠵Ǵ °ÍÀ¸·Î °¡Á¤µÊ. ¸¸¾à ÁöÁ¤ÇÏ´Â °æ¿ì, ÃßÃâÇÑ RowÀÇ ¼ö°¡ nÀ» ÃʰúÇÏÁö ¾ÊÀ» °ÍÀ̶ó°í °¡Á¤ÇÔ. nÀº Blocked CursorÀÇ ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇØ Communication Buffer SizeÀÇ Àû´çÇÑ °ªÀ» °áÁ¤ÇÔ. ±×·¯³ª ÀÌÀýÀº FetchµÉ RowÀÇ ¼ö¸¦ Á¦ÇÑÇÏÁö´Â ¾ÊÀ¸¸ç, OPTIMIZER FOR n ROWS´Â n RowÀÇ ¼ö ÀÌ»óÀ» ÃßÃâ ÇÏÁö ¾Ê´Â ´Ù¸é, ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ°í, n RowÀÇ ¼ö ÀÌ»óÀ» ÃßÃâÇÑ´Ù¸é, ¼º´ÉÀ» ÀúÇϽÃÅ´.
- k°ªÀÌ Å©°í, n Row ´ÙÀ½¿¡ ´ëÇØ¼­´Â ´À·ÁÁú¼ö ÀÖ´Ù ÇÏÁö¸¸ óÀ½ n Row¸¦ ºü¸£°Ô °¡Á®¿À°íÀÚ ÇÏ´Â °æ¿ì, µÎ °ªÀ» ÁöÁ¤ÇÔ. Communication Buffer´Â n°ú kº¸´Ù ´õ ÀÛÀº °ªÀ» ±âÁØÀ¸·Î »ý¼ºµÊ.

4. (¿¹)
SELECT EMPNAME, SALARY FROM EMPLOYEE
ORDER BY SALARY DESC
FETCH FIRST 100 ROWS ONLY
OPTIMIZE FOR 20 ROWS

µ¹¾Æ°¡±â