31.07.2014 Views

dbMAGIC Ver8.2 SQLガイド - Magic Software

dbMAGIC Ver8.2 SQLガイド - Magic Software

dbMAGIC Ver8.2 SQLガイド - Magic Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> Ver.8.2 SQL <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> <br />

1999 2 5 <br />

<br />

(1) <br />

(2) <br />

(3) <br />

<br />

(4) (3) <br />

Windows WindowsNT Microsoft Corporation <br />

Java Sun Microsystems,Inc. <br />

<strong>dbMAGIC</strong> <br />

<br />

Copyright 1999<br />

ii<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1 1–1<br />

1.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–2<br />

1.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–2<br />

1.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–3<br />

1.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–3<br />

1.5 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :1–3<br />

1.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–7<br />

1.7 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :1–8<br />

2 2–1<br />

2.1 ANSI/ISO : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :2–2<br />

2.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–2<br />

2.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–3<br />

2.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–3<br />

2.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–4<br />

2.6 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :2–5<br />

2.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–5<br />

3 3–1<br />

3.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :3–2<br />

3.2 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :3–2<br />

3.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3–3<br />

4 4–1<br />

4.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–2<br />

4.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–2<br />

4.3 DDL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–2<br />

4.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–4<br />

5 5–1<br />

5.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–2<br />

5.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–3<br />

5.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–4<br />

5.4 - ORDER BY : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–5<br />

6 - WHERE 6–1<br />

6.1 WHERE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6–2<br />

7 SELECT 7–1<br />

7.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–2<br />

7.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–4<br />

7.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–5<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

iii


7.4 GROUP BY - : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–6<br />

7.5 HAVING - : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7–7<br />

7.6 SELECT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–9<br />

7.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7–10<br />

7.8 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7–11<br />

8 — 8–1<br />

8.1 INSERT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :8–2<br />

8.2 DELETE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8–3<br />

8.3 UPDATE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8–4<br />

9 9–1<br />

9.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–2<br />

9.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–2<br />

9.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–3<br />

9.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–3<br />

10 10–1<br />

10.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–2<br />

10.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–3<br />

10.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–4<br />

10.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–5<br />

10.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–5<br />

11 11–1<br />

11.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–2<br />

11.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–2<br />

11.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–3<br />

11.4 MS-SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–4<br />

11.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–4<br />

11.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–5<br />

11.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–5<br />

12 12–1<br />

12.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–2<br />

12.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–2<br />

12.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–3<br />

12.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–4<br />

12.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–4<br />

12.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–6<br />

13 <strong>dbMAGIC</strong> SQL 13–1<br />

13.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–2<br />

13.2 <strong>dbMAGIC</strong> SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–2<br />

13.3 <strong>dbMAGIC</strong> SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–3<br />

13.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–3<br />

13.5 <strong>dbMAGIC</strong> API : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–4<br />

13.6 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–4<br />

iv<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


14 14–1<br />

14.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–2<br />

14.2 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : :14–3<br />

14.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4<br />

14.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4<br />

15 RDBMS 15–1<br />

15.1 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :15–2<br />

15.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :15–2<br />

15.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :15–3<br />

16 <strong>dbMAGIC</strong> 16–1<br />

16.1 SQL MAGIC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–2<br />

16.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–4<br />

16.3 DBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–4<br />

16.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–6<br />

16.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–10<br />

17 <strong>dbMAGIC</strong> 17–1<br />

17.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–2<br />

17.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–5<br />

17.3 : : : : : : : : : : : : : : : : : : :17–8<br />

17.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–10<br />

17.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–13<br />

18 18–1<br />

18.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–2<br />

18.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–2<br />

18.3 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–3<br />

18.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–4<br />

18.5 Oracle : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–6<br />

18.6 Microsoft SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–7<br />

18.7 ODBC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–8<br />

18.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–9<br />

19 <strong>dbMAGIC</strong> SQL 19–1<br />

19.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–2<br />

19.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–3<br />

19.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–4<br />

19.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–4<br />

19.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–5<br />

19.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–8<br />

19.7 SQL WHERE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–8<br />

19.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–11<br />

19.9 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–12<br />

19.10RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–12 :<br />

19.11 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–12<br />

19.12 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–12<br />

19.13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–13<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

v


20 20–1<br />

20.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–2<br />

20.2 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–3<br />

20.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–3<br />

20.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–3<br />

21 21–1<br />

21.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–2<br />

21.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–2<br />

21.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–3<br />

21.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–5<br />

21.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–7<br />

21.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–8<br />

21.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–8<br />

21.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–10<br />

21.9 ROLLBACK : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21–10 :<br />

21.10INTRANS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21–11 :<br />

22 SQL 22–1<br />

22.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–2<br />

22.2 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–4<br />

22.3 SELECT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–7<br />

22.4 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–8<br />

22.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–9<br />

23 <strong>dbMAGIC</strong> SQL 23–1<br />

23.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–2<br />

23.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–4<br />

23.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–5<br />

23.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–5<br />

23.5 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–6<br />

23.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–6<br />

23.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–7<br />

23.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–7<br />

24 <strong>dbMAGIC</strong> 8 24–1<br />

24.1 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24–2<br />

24.2 <strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–2<br />

24.3 ISAM RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–3<br />

24.4 RDBMS ISAM : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–5<br />

24.5 RDBMS RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–5<br />

24.6 RDBMS ISAM : : : : : : : : : : : : : : : : : : : : : : : : : :24–5<br />

25 25–1<br />

25.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–2<br />

25.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–3<br />

25.3 Oracle : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–4<br />

25.4 MS-SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–6<br />

25.5 ODBC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–9<br />

vi<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


25.6 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : : :25–10<br />

A SQL A–1<br />

A.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A–2<br />

B B–1<br />

B.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–3<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

vii


PC-9801 DOS/V<br />

;<br />

F1<br />

–<br />

;<br />

F10<br />

f1<br />

<br />

–f10 F1 – F10<br />

;<br />

Caps Lock<br />

<br />

<br />

CAPS<br />

Caps Lock<br />

;<br />

Shift<br />

SHIFT<br />

<br />

;<br />

Ctrl<br />

CTRL<br />

<br />

Shift<br />

Ctrl<br />

;<br />

PgUp<br />

<br />

<br />

ROOL UP<br />

PageUp<br />

;<br />

PgDn<br />

<br />

<br />

ROOL DOWN<br />

PageDown<br />

;<br />

Ins<br />

INS<br />

<br />

;<br />

Del<br />

DEL<br />

<br />

Insert<br />

Delete<br />

;<br />

Back Space<br />

<br />

<br />

BS<br />

Back Space<br />

;<br />

Tab<br />

TAB<br />

<br />

Tab<br />

;<br />

<br />

<br />

;<br />

, Enter<br />

<br />

<br />

;<br />

Alt<br />

GRP<br />

<br />

;<br />

Home<br />

HOME<br />

<br />

;<br />

End<br />

HELP<br />

<br />

;<br />

<br />

Enter<br />

Alt<br />

CLR Home<br />

End<br />

viii<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1<br />

<br />

1.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–2<br />

1.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–2<br />

1.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–3<br />

1.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–3<br />

1.5 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–3<br />

1.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–7<br />

1.7 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1–8


1<br />

<br />

<strong>dbMAGIC</strong> SQL <br />

SQL <strong>dbMAGIC</strong> SQL <br />

<br />

<strong>dbMAGIC</strong> SQL <br />

3GL<br />

4GLSQL 4 SQL <br />

<br />

<strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong> SQL <br />

SQL <br />

OracleMS-SQL 2 <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

RDBMS<br />

1.1 <br />

SQL <strong>dbMAGIC</strong> <br />

SQL SQL <br />

RDBMS <br />

1.2 <br />

SQL 2 <br />

1 12 SQL <br />

<br />

SQL <br />

SELECT <br />

<br />

<br />

<br />

RDBMS <br />

13 25 <strong>dbMAGIC</strong> SQL <br />

<br />

SQL <br />

<br />

1–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1.3 <br />

1<br />

1.4 <br />

<br />

SQL DMLDDL<br />

ISAM <strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong> <br />

<br />

SQL <br />

<br />

<br />

<br />

B <br />

<br />

1.5 SQL <br />

SQL Structured Query LanguageSQL <br />

SQL <br />

<br />

<br />

<br />

<br />

DBMS<br />

<br />

RDBMS<br />

SQL <br />

SQL <br />

SQL SQL <br />

<br />

SQL <br />

SQL <br />

SQL <br />

SQL RDBMS <br />

<br />

SQL RDBMS <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

1.3 1–3


SQL DBMS <br />

<br />

SQL <br />

<br />

SQL <br />

<br />

SQL <br />

<br />

<br />

<br />

2 <br />

<br />

SQL <br />

<br />

SQL <br />

SQL <br />

<br />

<br />

SET TRANSACTIONCOMMITROLLBACK <br />

SQL 13 <br />

<br />

<br />

<br />

1–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL <br />

<br />

SELECT<br />

INSERT<br />

DELETE<br />

UPDATE<br />

<br />

CREATE TABLE<br />

DROP TABLE*<br />

ALTER TABLE*<br />

CREATE VIEW<br />

DROP VIEW*<br />

CREATE INDEX*<br />

DROP INDEX*<br />

CREATE SYNONYM*<br />

DROP SYNONYM*<br />

COMMENT*<br />

LABEL*<br />

<br />

GRANT<br />

REVOKE<br />

<br />

COMMIT<br />

ROLLBACK<br />

<br />

DECLARE<br />

EXPLAIN*<br />

OPEN<br />

FETCH<br />

CLOSE<br />

PREPARE*<br />

EXECUTE*<br />

DESCRIBE*<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1 <br />

<br />

SQL <br />

SQL <br />

*<br />

1<br />

* ANSI/ISO SQL <br />

<br />

SQL <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

1.5 SQL 1–5


SQL <br />

<br />

2 RDBMS <br />

ISAM <br />

<br />

<br />

1 <br />

SQL <br />

ISAM <br />

1 <br />

<br />

ISAM <br />

<br />

<br />

6 30 <br />

NULL <br />

<br />

NULL SQL NULL <br />

ISAM NULL NULL NULL<br />

<br />

NULL NULL <br />

<br />

NULL <br />

NULL <br />

<br />

<br />

<br />

<br />

SELECT <br />

SELECT <br />

SELECT <br />

<br />

SELECT <br />

<br />

SQL SQL <br />

SQL <br />

<br />

1 <br />

1–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1.6 <br />

1<br />

2 2 <br />

DDLDML <br />

<br />

SQL DDL <br />

SQL DML<br />

<br />

<br />

1 <br />

<br />

<br />

SQL DDL<br />

DDL CREATE<br />

TABLE ALTER TABLE DDL DDL CREATE<br />

VIEW CREATE VIEW <br />

<br />

SQL DML<br />

DML DDL <br />

DML <br />

DML <br />

SQL DML <br />

<br />

<br />

SQL <br />

<br />

<br />

<br />

<br />

<br />

DML <br />

<br />

SELECT <br />

FROM <br />

<br />

WHERE <br />

<br />

GROUP BY <br />

<br />

1 <br />

HAVING GROUP BY <br />

<br />

ORDER BY <br />

<br />

ORDER BY <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

1.6 1–7


1 <br />

<br />

INSERT INTO <br />

UPDATE <br />

SET <br />

<br />

WHERE <br />

DELETE FROM <br />

<br />

WHERE <br />

1.7 SQL <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

RDBMS <br />

ISAM <br />

<br />

<br />

1–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2<br />

<br />

2.1 ANSI/ISO : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–2<br />

2.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–2<br />

2.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–3<br />

2.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–3<br />

2.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–4<br />

2.6 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–5<br />

2.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2–5


2<br />

<br />

ANSI/ISO SQL <br />

SQL SQL SQL <br />

SQL <br />

ANSI/ISO <br />

SQL <br />

2.1 ANSI/ISO <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

CHAR ()<br />

CHARACTER ()<br />

INTEGER<br />

INT<br />

SMALLINT<br />

NUMERIC (precision,scale)<br />

DECIMAL (precision,scale)<br />

DEC (precision,scale)<br />

FLOAT (precision)<br />

REAL<br />

DOUBLE PRECISION<br />

<br />

<br />

<br />

<br />

<br />

<br />

( )<br />

(16 )<br />

2.2 <br />

SQL SQL ANSI/ISO <br />

<br />

<br />

VARCHAR SQL <br />

<br />

<br />

ANSI/ISO <br />

<br />

<br />

2–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


MONEY CURRENCY <br />

SQL <br />

<br />

<br />

2<br />

SQL <br />

<br />

<br />

TRUEFALSE<br />

SQL 2 <br />

<br />

<br />

<br />

<br />

Oracle <br />

<br />

<br />

Microsoft SQL IMAGE Oracle <br />

LONGRAW <br />

16 2 <br />

<br />

A SQL <br />

2.3 <br />

SQL <br />

<br />

<br />

Oracle DATE<br />

MS-SQL Server <br />

DATETIME<br />

0 DATE <br />

2.4 <br />

SQL SQL <br />

SQL SQL <br />

SQL <br />

SQL <br />

SQL <br />

SQL SQL <br />

SQL <br />

SQL <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

2.3 2–3


2.5 <br />

SQL <br />

SELECT <br />

<br />

SQL <br />

<br />

<br />

<br />

<br />

INSERT INTO SALESREP (EMPL_NUM, NAME, QUOTA, HIRE_DATE, SALES)<br />

VALUES (115, ’Dennis Irving’, 175000.00, ’21-JUN-90’, 0.00)<br />

INSERT VALUES <br />

SELECT <br />

SELECT CITY<br />

FROM OFFICES<br />

WHERE TARGET (1.1 * SALES) + 10000.00<br />

ANSI/ISO SQL <br />

SQL <br />

<br />

10 <br />

SQL <br />

<br />

2–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2.6 RDBMS <br />

1 Oracle 2 MS-SQL Server<br />

CHAR(n) CHAR(n)<br />

VARCHAR2(n) VARCHAR(n)<br />

LONG TEXT<br />

NUMBER(p) TINYINT<br />

SMALLINT<br />

INT<br />

<br />

NUMBER(p,s)<br />

<br />

MONEY<br />

<br />

FLOAT<br />

DATE 3 DATETIME<br />

<br />

BIT<br />

BINARY(n)<br />

VARBINARY(n)<br />

IMAGE<br />

RAW LONG<br />

RAW<br />

SYSNAME<br />

USER TYPE NAME<br />

<br />

2<br />

1 SQL ANSI/ISO <br />

2 Oracle 40 <br />

3 Oracle DATE Oracle Oracle <br />

<br />

2.7 <br />

ANSI/ISO SQL CharacterIntegerSmallIntNumeric<br />

DecimalFloatRealDouble Precision <br />

<br />

VarcharMoneyDateBooleanLong<br />

Raw<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

2.7 2–5


2–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


3<br />

<br />

3.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3–2<br />

3.2 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3–2<br />

3.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3–3


3<br />

<br />

RDBMS <br />

<br />

3.1 SQL <br />

SQL SQL SQL RDBMS <br />

<br />

SQL <br />

<br />

<br />

<br />

Oracle <br />

Oracle <br />

SQL <br />

Oracle <br />

Oracle <br />

SID <br />

3.2 SQL <br />

RDBMS <br />

SQL <br />

SQL RDBMS <br />

SQL <br />

<br />

<br />

MS SQL Server <br />

ISQL/W<br />

Oracle SQL*Plus<br />

C 3 SQL <br />

<br />

3–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


3.3 <br />

SQL SQL SQL <br />

<br />

<br />

<br />

3<br />

<br />

Oracle <br />

<br />

<br />

<br />

SQL <br />

RDBMS GUI <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

3.3 3–3


3–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


4<br />

<br />

4.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–2<br />

4.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–2<br />

4.3 DDL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :4–2<br />

4.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4–4


4<br />

<br />

SQL SQL <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

4.1 <br />

<br />

<br />

<br />

<br />

<br />

RDBMS RDBMS <br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL CREATE DATABASE <br />

<br />

<br />

MS-SQL Server <br />

CREATE DATABASE dbname ON device1=16 LOG ON logdev 1=10<br />

4.2 <br />

<br />

ALTER DATABASE <br />

<br />

4.3 DDL<br />

SQL DDL DDL <br />

<br />

DDL <br />

<br />

<br />

4–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


DDL CREATEDROPALTERRENAME <br />

<br />

CREATE <br />

<br />

<br />

CREATE [TABLE,INDEX] ()<br />

<br />

NOT NULL NULL <br />

NOT NULL <br />

<br />

CREATE TABLE custs (custno INTEGER, custname CHAR(30), hire date DATETIME)<br />

CREATE <br />

<br />

<br />

<br />

- <br />

<br />

ANSI <br />

<br />

RDBMS SELECT <br />

<br />

SELECT <br />

CREATE [UNIQUE] [CLUSTERED] INDEX ON ( [, <br />

])<br />

CREATE <br />

<br />

<br />

<br />

<br />

4<br />

DROP <br />

<br />

DROP TABLE ()<br />

DROP TABLE <br />

DROP TABLE <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

4.3 DDL 4–3


ALTER <br />

<br />

ALTER TABLE () ADD <br />

<br />

ALTER TABLE <br />

ALTER TABLE <br />

<br />

<br />

RENAME<br />

<br />

<br />

RENAME TABLE <br />

<br />

RENAME <br />

<br />

RENAME RDBMS Microsoft SQL<br />

RENAME <br />

sp rename<br />

<br />

<br />

DDL <br />

DDL <br />

<br />

<br />

<br />

4.4 <br />

DML <br />

<br />

DML <br />

<br />

<br />

SELECT <br />

SELECT <br />

<br />

<br />

<br />

SELECT SELECT <br />

SELECT<br />

SELECT SELECT <br />

SELECT <br />

<br />

<br />

4–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


5<br />

<br />

5.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–2<br />

5.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–3<br />

5.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5–4<br />

5.4 - ORDER BY : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :5–5


5<br />

<br />

SELECT <br />

SELECT <br />

SELECT <br />

SELECT FROM <br />

SELECT <br />

SELECT FROM [WHERE] [GROUP BY] [HAVING] [ORDER BY]<br />

<br />

SELECT FROM<br />

5.1 <br />

SELECT SELECT <br />

<br />

SELECT SELECT <br />

<br />

SELECT <br />

SELECT <br />

<br />

* FROM <br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

<br />

SELECT *<br />

FROM <br />

<br />

<br />

3 <br />

<br />

1. SELECT <br />

FROM <br />

SELECT , , FROM <br />

3 <br />

SELECT <br />

<br />

5–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


10<br />

20<br />

30<br />

40<br />

50<br />

2. SELECT * <br />

SELECT *<br />

FROM <br />

<br />

<br />

5<br />

<br />

10 <br />

20 <br />

30 <br />

40 <br />

50 <br />

5.2 <br />

SELECT <br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

<br />

2 <br />

<br />

SELECT , <br />

FROM <br />

SELECT <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

5.2 5–3


5.3 <br />

SELECT 1 <br />

<br />

<br />

<br />

SELECT <br />

<br />

SELECT <br />

FROM <br />

SELECT <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SELECT 1 <br />

DISTINCT DISTINCT <br />

<br />

5–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SELECT DISTINCT [, . . .]<br />

FROM <br />

<br />

DISTINCT <br />

SELECT DISTINCT <br />

FROM <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

5<br />

5.4 - ORDER BY <br />

SELECT ORDER BY <br />

ORDER BY <br />

<br />

SELECT FROM [WHERE] [GROUP BY] [HAVING] [ORDER BY]<br />

ORDER BY ORDER BY <br />

<br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

ORDER BY <br />

<br />

<br />

SELECT <br />

FROM ORDER<br />

BY 2 <br />

<br />

SELECT , , <br />

FROM <br />

ORDER BY , <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

5.4 - ORDER BY 5–5


Eastern 367,911<br />

Eastern 735,042<br />

Eastern 692,637<br />

Western 186,042<br />

Western 835,915<br />

SQL <br />

<br />

SELECT [, . . .]<br />

FROM ORDER BY <br />

[DESC][ [DESC] . . .]<br />

<br />

3 <br />

<br />

SELECT , , <br />

FROM <br />

ORDER BY DESC<br />

<br />

<br />

Western 835,915<br />

Eastern 735,042<br />

Eastern 692,637<br />

Eastern 367,911<br />

Western 186,042<br />

<br />

2 <br />

+ <br />

SELECT <br />

ORDER BY 2 =DESC<br />

+ <br />

SELECT , + <br />

FROM <br />

ORDER BY 2 DESC<br />

5–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


+<br />

9100<br />

7400<br />

6300<br />

5500<br />

4850<br />

4750<br />

4700<br />

4250<br />

4200<br />

4175<br />

3900<br />

3500<br />

3375<br />

3000<br />

5<br />

’LONG’ TEXT <br />

ORDER BY <br />

ORDER BY SELECT <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

5.4 - ORDER BY 5–7


5–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


6 - WHERE<br />

6.1 WHERE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6–2


6<br />

- WHERE<br />

<br />

<br />

WHERE <br />

6.1 WHERE <br />

WHERE SELECT SQL <br />

<br />

SELECT FROM [WHERE] [GROUP BY] [HAVING] [ORDER BY]<br />

WHERE WHERE <br />

<br />

WHERE <br />

<br />

<br />

WHERE SELECT WHERE <br />

<br />

<br />

SELECT , <br />

FROM <br />

WHERE = 104<br />

WHERE <br />

<br />

<br />

ÁÂ<br />

ÃÃÄÅÆÇÈ<br />

ÁÂÃÄÅÆÇ<br />

ÈÉ<br />

ÄÃ<br />

ÈÉ<br />

ÇÃÇÇ<br />

ÈÉ<br />

ÆÃ<br />

<br />

ÃÇÇ<br />

ÈÉ<br />

ÅÃ<br />

ÈÉ<br />

<br />

<br />

<br />

<br />

<br />

<br />

True<br />

False<br />

<br />

ÁÂ<br />

É<br />

ÁÂÃÄÅÆÇ !"#$ÈÈ%ÉÉ<br />

ÅÃ !É&#"!%ÉÉ<br />

'ÂÃÂ (#""&%ÉÉ<br />

<br />

Unknown<br />

6.1: WHERE <br />

<br />

SQL SQL <br />

<br />

==<br />

<br />

2 <br />

6–2 - WHERE SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


BETWEEN <br />

<br />

IN <br />

<br />

LIKE <br />

<br />

<br />

NULL IS NULL NULL <br />

<br />

ANDORNOT ANDORNOT <br />

<br />

<br />

SELECT [, . .]<br />

FROM <br />

WHERE [, . . .]<br />

6<br />

<br />

<br />

== 6 <br />

=<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE = <br />

<br />

10 10 <br />

<br />

SELECT , , , <br />

FROM <br />

WHERE = 10<br />

<br />

<br />

3123 5500<br />

3115 3375<br />

3970 4850<br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

6.1 WHERE 6–3


SELECT , , <br />

FROM <br />

WHERE ’ ’<br />

<br />

<br />

2300<br />

2400<br />

2050<br />

3000<br />

4250<br />

5500<br />

3900<br />

3500<br />

3375<br />

4175<br />

<br />

, <br />

WHERE ’ ’<br />

4 <br />

<br />

MS-SQL Server <br />

<br />

<br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE BETWEEN AND <br />

<br />

1985 3 1 1989 12 31 <br />

<br />

<br />

SELECT , , <br />

FROM <br />

WHERE BETWEEN ’1985 3 1 ’<br />

AND ’1989 12 31 ’<br />

6–4 - WHERE SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1985 4 15 <br />

1989 5 3 <br />

1985 3 13 <br />

1985 3 13 <br />

1987 12 2 <br />

1989 8 4 <br />

<br />

<br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE IN (, . . .)<br />

6<br />

<br />

<br />

<br />

SELECT , <br />

FROM <br />

WHERE IN (’ ’, ’ ’)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

NOT <br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE NOT IN (, . . .)<br />

<br />

<br />

<br />

SELECT , <br />

FROM <br />

WHERE NOT IN (’ ’, ’ ’)<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

6.1 WHERE 6–5


LIKE <br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE LIKE <br />

<br />

%<br />

0 n <br />

1 <br />

<br />

<br />

B<br />

<br />

SELECT , , <br />

FROM <br />

WHERE LIKE ’B%’<br />

<br />

<br />

20<br />

50<br />

<br />

6 <br />

<br />

SELECT , , <br />

FROM <br />

WHERE LIKE ’_ _ _ _ _ _ %’<br />

6 6 % 0 <br />

n 6 <br />

6–6 - WHERE SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


40<br />

40<br />

50<br />

50<br />

10<br />

20<br />

10<br />

50<br />

NULL <br />

NULL <br />

<br />

6<br />

SELECT [, . . .]<br />

FROM <br />

WHERE IS NULL<br />

<br />

<br />

<br />

SELECT , <br />

FROM WHERE IS NULL<br />

<br />

<br />

<br />

3000<br />

4250<br />

5500<br />

4750<br />

3900<br />

4200<br />

4700<br />

3500<br />

3375<br />

4175<br />

4850<br />

NULL IS NOT NULLNULL <br />

<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE IS NOT NULL<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

6.1 WHERE 6–7


SELECT , , <br />

FROM <br />

WHERE IS NOT NULL<br />

<br />

<br />

4300 2000<br />

4400 3000<br />

4050 5050<br />

<br />

<br />

ANDORNOT <br />

<br />

<br />

<br />

<br />

<br />

=!=>> =INLIKEIS NULLBETWEEN<br />

<br />

NOTANDOR<br />

<br />

SELECT [, . . .]<br />

FROM <br />

WHERE <br />

AND [NOT] ()<br />

OR [NOT] ()<br />

<br />

$4,300 <br />

<br />

<br />

SELECT , , , <br />

FROM <br />

WHERE ( >= 4300<br />

AND = ’ ’)<br />

OR = ’ ’<br />

6–8 - WHERE SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1985 4 15 4300<br />

1994 1 1 4400<br />

15-Jun-93 4050<br />

1985 3 13 4750<br />

1989 8 4 4700<br />

1994 5 15 4850<br />

<br />

$4,300 <br />

<br />

<br />

SELECT , , , <br />

FROM <br />

WHERE >= 4300<br />

AND ( = ’’<br />

OR = ’ ’)<br />

6<br />

<br />

<br />

1985 4 15 4300<br />

1994 1 1 4400<br />

1985 3 13 4750<br />

1989 8 4 4700<br />

1994 5 15 4850<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

6.1 WHERE 6–9


6–10 - WHERE SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


7<br />

SELECT <br />

7.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–2<br />

7.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–4<br />

7.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–5<br />

7.4 GROUP BY - : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7–6<br />

7.5 HAVING - : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–7<br />

7.6 SELECT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–9<br />

7.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7–10<br />

7.8 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7–11


7<br />

SELECT<br />

7.1 <br />

SELECT SELECT <br />

<br />

SELECT <br />

<br />

<br />

<br />

<br />

<br />

<br />

NULL <br />

NULL <br />

<br />

<br />

<br />

<br />

SELECT <br />

<br />

<br />

50 <br />

<br />

<br />

SELECT , , , + <br />

FROM <br />

WHERE = ’ ’<br />

AND >.50*<br />

<br />

+ <br />

4400 3000 7400<br />

4050 5050 9100<br />

NULL NULL <br />

7–2 SELECT SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


40 <br />

<br />

SELECT , , , + <br />

FROM <br />

WHERE = 40<br />

<br />

+ <br />

4300 2000 6300<br />

4400 3000 7400<br />

4050 5050 9100<br />

4850<br />

NULL <br />

NULL NULL NULL<br />

<br />

NULL 0 1NULL <br />

<br />

ISNULLOracle 6 NVL<br />

NULL <br />

<br />

7<br />

NULLIF <br />

NULLIF ( 1, 2)<br />

NULLIF 1 2 NULL <br />

1 NULLIF RDBMS <br />

ISNULL <br />

ISNULL (, )<br />

NULL <br />

<br />

ISNULL (, ’’)<br />

NULL ’ ’ <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

7.1 7–3


40 <br />

<br />

NULL 0 <br />

SELECT , , , + ISNULL(,0)<br />

FROM <br />

WHERE = 40<br />

<br />

+ ISNULL(,0)<br />

4300 2000 6300<br />

4400 3000 7400<br />

4050 5050 9100<br />

4850 4850<br />

<br />

<br />

<br />

<br />

2 <br />

<br />

SELECT jj ’ - jj ’ <br />

FROM <br />

<br />

jj ’-’jj <br />

- <br />

- <br />

- <br />

- <br />

- <br />

7.2 <br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL 2 <br />

2 <br />

7–4 SELECT SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SELECT , <br />

<br />

FROM , <br />

2 ID<br />

WHERE . ID = . ID<br />

. <br />

<br />

<br />

<br />

WHERE <br />

<br />

<br />

- 2 <br />

ID ID SID <br />

1 1 10 10<br />

2 2 10 20<br />

2 2 20 16<br />

3 3 30 20<br />

* <br />

SELECT <br />

SELECT <br />

<br />

7<br />

SELECT , <br />

FROM , <br />

WHERE . ID = . ID<br />

SELECT <br />

<br />

<br />

10<br />

20<br />

16<br />

20<br />

7.3 <br />

SQL <br />

<br />

<br />

AVGCOUNTMAXMINSUM <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

7.3 7–5


SELECT ,<br />

( [, ])<br />

FROM <br />

GROUP BY <br />

<br />

<br />

<br />

SELECT , , <br />

FROM <br />

WHERE = ’ ’<br />

<br />

<br />

4250 4400 12750<br />

COUNT(*) <br />

COUNT() <br />

NULL <br />

<br />

<br />

<br />

NULL <br />

SELECT COUNT(*), COUNT(DISTINCT )<br />

FROM <br />

<br />

COUNT(*) COUNT()<br />

14 3<br />

7.4 GROUP BY - <br />

SELECT() FROM() <br />

SELECT GROUP BY <br />

GROUP BY <br />

<br />

GROUP BY 1 1 <br />

DISTINCT <br />

<br />

GROUP BY <br />

<br />

7–6 SELECT SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


GROUP BY <br />

GROUP BY SELECT <br />

RDBMS <br />

GROUP BY SELECT <br />

1 <br />

<br />

<br />

<br />

SELECT , COUNT(*)<br />

FROM <br />

GROUP BY <br />

<br />

COUNT(*)<br />

10 3<br />

20 2<br />

40 4<br />

50 5<br />

7<br />

<br />

<br />

<br />

SELECT , , COUNT(*)<br />

FROM <br />

GROUP BY , <br />

<br />

COUNT(*)<br />

10 1<br />

10 1<br />

10 1<br />

20 1<br />

20 1<br />

40 1<br />

40 3<br />

50 1<br />

50 3<br />

50 1<br />

7.5 HAVING - <br />

WHERE HAVING <br />

HAVING <br />

2 <br />

SELECT() FROM() <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

7.5 HAVING - 7–7


HAVING WHERE HAVING <br />

<br />

<br />

SELECT , <br />

FROM <br />

GROUP BY <br />

HAVING <br />

<br />

<br />

<br />

SELECT , 12*<br />

FROM <br />

GROUP BY <br />

HAVING COUNT(*) >2<br />

<br />

12*<br />

49,300<br />

39,500<br />

55,500<br />

51,000<br />

5 <br />

3 3 4 3 1 <br />

SELECT <br />

GROUP BY HAVING <br />

12 <br />

<br />

HAVING WHERE WHERE <br />

GROUP BY HAVING <br />

<br />

<br />

SELECT , <br />

FROM <br />

WHERE = <br />

GROUP BY <br />

HAVING <br />

7–8 SELECT SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


$10,000 <br />

SELECT<br />

<br />

SELECT , <br />

FROM <br />

WHERE ’ ’<br />

GROUP BY <br />

HAVING >10000<br />

ORDER BY 2<br />

<br />

<br />

10 10250<br />

50 17025<br />

40 17600<br />

7.6 SELECT <br />

7<br />

SELECT <br />

SELECT <br />

<br />

<br />

SELECT <br />

<br />

<br />

SELECT <br />

SQL <br />

<br />

SELECT <br />

DBMS RDBMS <br />

DBMS <br />

2 <br />

<br />

<br />

RDBMS <br />

RDBMS DBMS <br />

SELECT <br />

<br />

<br />

SELECT , <br />

FROM <br />

WHERE = (SELECT )<br />

FROM )<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

7.6 SELECT 7–9


43<br />

43<br />

43 2 2 2 1 <br />

1 <br />

<br />

<br />

<br />

IN NOT IN <br />

<br />

7.7 <br />

<br />

1 1<br />

<br />

<br />

<br />

SQL <br />

ANSI CAST <br />

CAST ( AS ) <br />

<br />

<br />

2 ID<br />

ID <br />

ID 10 <br />

SELECT <br />

SELECT <br />

FROM , <br />

WHERE . ID = . ID<br />

AND = 10*CAST (. ID AS integer)<br />

<br />

<br />

10<br />

20<br />

RDBMS 2 <br />

<br />

<br />

1994 5 1 <br />

SELECT *<br />

FROM <br />

WHERE


3567 3970 15-Apr-85 4300 2000 33 40<br />

3891 3970 1-Jan-94 4400 3000 32 40<br />

3092 3970 15-Jun-93 4050 5050 40 40<br />

3667 3373 17-Oct-90 3000 27 50<br />

3559 3408 3-May-89 4250 30 50<br />

3123 13-Mar-85 5500 40 10<br />

3472 3123 2-Feb-93 4750 43 10<br />

3373 3123 2-Dec-87 3900 41 50<br />

3162 3162 4-Aug-89 4200 35 20<br />

3408 31620 22-Jan-92 4700 33 50<br />

3582 3408 15-Mar-93 3500 42 20<br />

3115 27-Jul-91 3375 22 10<br />

3012 4175 42 50<br />

RDBMS <br />

<br />

<br />

7<br />

<br />

<br />

3567 3970 15-Apr-85 4300 2000 33 40<br />

3891 3970 1-Jan-94 4400 3000 32 40<br />

3092 3970 15-Jun-93 4050 5050 40 40<br />

3667 3373 17-Oct-90 3000 27 50<br />

3123 13-Mar-85 5500 40 10<br />

3472 3123 13-Mar-85 4750 43 10<br />

3115 31620 15-Mar-93 3375 22 10<br />

3970 3123 15-May-94 4850 43 40<br />

RDBMS <br />

<br />

<br />

7.8 SQL <br />

SQL SELECT<br />

<br />

1. <br />

2. <br />

3. <br />

4. <br />

3 <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

7.8 SQL 7–11


7–12 SELECT SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


8<br />

— <br />

8.1 INSERT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :8–2<br />

8.2 DELETE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8–3<br />

8.3 UPDATE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8–4


8<br />

— <br />

SQL DML<br />

INSERTDELETEUPDATE <br />

<br />

8.1 INSERT<br />

INSERT INSERT <br />

2 <br />

1 <br />

<br />

INTO <br />

VALUES VALUES<br />

INTO <br />

VALUES <br />

NULL NULL <br />

<br />

<br />

INSERT 1 <br />

<br />

INSERT INTO [( 1, 2, . . .)]<br />

VALUES ( 1, 2, . . .)<br />

<br />

<br />

<br />

<br />

<br />

36<br />

3205<br />

<br />

4000<br />

<br />

<br />

<br />

1<br />

INSERT <br />

<br />

INSERT INTO <br />

(, , , , ,<br />

, , , )<br />

VALUES (3205, , ’’, 3970,<br />

’28-Jul-94’, 4000, NULL, 36, 40)<br />

1 <br />

8–2 — SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2<br />

<br />

SELECT *<br />

FROM <br />

WHERE = 3205<br />

<br />

<br />

3205 3970 28-Jul-94 4000 36 40<br />

INSERT <br />

<br />

INSERT INTO [( 1, 2, . . .)]<br />

<br />

<br />

INSERT<br />

<br />

INSERT INTO (, )<br />

SELECT , SUM()<br />

FROM GROUP BY <br />

4 4 <br />

8.2 DELETE<br />

8<br />

DELETE <br />

<br />

DELETE FROM <br />

[WHERE ]<br />

FROM WHERE <br />

<br />

<br />

<br />

DELETE WHERE <br />

<br />

<br />

<br />

<br />

<br />

1<br />

SELECT <br />

SELECT * FROM WHERE = 3205<br />

<br />

<br />

3205 3970 28-Jul-94 4000 36 40<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

8.2 DELETE 8–3


2<br />

<br />

DELETE FROM <br />

WHERE = 3205<br />

1 <br />

3<br />

<br />

SELECT *<br />

FROM <br />

WHERE = 3205<br />

<br />

<br />

<br />

8.3 UPDATE<br />

UPDATE <br />

<br />

<br />

UPDATE <br />

SET 1 = 1, 2 = 2 . . .<br />

[WHERE ]<br />

UPDATE WHERE SET <br />

<br />

WHERE <br />

<br />

<br />

1<br />

3123 3%<br />

UPDATE <br />

SET = 1.03 * <br />

WHERE = 3123<br />

8–4 — SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2<br />

<br />

SELECT *<br />

FROM <br />

WHERE = 3123<br />

<br />

<br />

3123 13-Mar-85 5665 40 10<br />

WHERE WHERE <br />

<br />

<br />

1<br />

<br />

<br />

UPDATE <br />

SET = ’<br />

WHERE = ’ ’<br />

8<br />

<br />

3 <br />

2<br />

<br />

SELECT *<br />

FROM <br />

WHERE LIKE ’S\%\%’<br />

<br />

<br />

3567 3970 15-Apr-85 4300 2000 33 40<br />

3891 3970 01-Jan-94 4400 3000 32 40<br />

3092 3970 15-Jun-93 4050 5050 36 40<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

8.3 UPDATE 8–5


8–6 — SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


9<br />

<br />

9.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–2<br />

9.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–2<br />

9.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–3<br />

9.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9–3


9<br />

<br />

<br />

9.1 <br />

DBMS <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

ANSI <br />

<br />

9.2 <br />

<br />

<br />

<br />

<br />

RDBMS <br />

RDBMS <br />

9–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


RDBMS <br />

<br />

<br />

9.3 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

ANSI <br />

<br />

<br />

INSERT <br />

<br />

9<br />

<br />

TEST1<br />

(FLD1 char(1) default ’1’not null unique<br />

FLD2 integer primary key)<br />

TEST2<br />

(FLD1 char (1) default ’2’ null check (FLD1’1’)<br />

FLD2 integer foreign key references TEST1.FLD2)<br />

9.4 <br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL SQL <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

9.3 9–3


SQL <br />

<br />

OracleMS-SQL <br />

Oracle <br />

Create or replace procedure sp1<br />

(p1 char in, p2 integer out)<br />

as<br />

begin<br />

update table1 set fld1 = fld1(7 where fld1 = p1;<br />

select fld2 into p2 where fld1 = p1;<br />

end sp1;<br />

MS-SQL Server <br />

Create procedure sp1 @ p1 char(5)<br />

as<br />

begin<br />

insert into table1 values (’a’,@p1)<br />

select fld2 from table2 where fld1=@p1<br />

end<br />

<br />

MS-SQL Server RDBMS SELECT <br />

SELECT SELECT <br />

SELECT <br />

Oracle <br />

<br />

<br />

Oracle <br />

execute sp1(p1,p2)<br />

MS-SQL Server <br />

sp1(’hello’)<br />

<br />

Fld1/hello<br />

<br />

INSERTUPDATEDELETE <br />

SQL <br />

<br />

9–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


Create trigger trig1 table1<br />

on table1 for update<br />

as<br />

begin<br />

update table2 set table1.fld2=<br />

table1.fld2+updated.fld2<br />

where<br />

table1.fld1=updated.fld1<br />

<br />

RDBMS <br />

<br />

<br />

<br />

<br />

<br />

9<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

9.4 9–5


9–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


10<br />

<br />

10.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–2<br />

10.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–3<br />

10.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–4<br />

10.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–5<br />

10.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10–5


10 <br />

SQL <br />

SQL <br />

SQL <br />

SQL <br />

SQL <br />

<br />

DBMS DBMS SQL<br />

<br />

<br />

<br />

10.1 <br />

ROLLBACK COMMIT ROLLBACK<br />

<br />

COMMIT <br />

<br />

SQL <br />

2 <br />

2 2 <br />

COMMIT ROLLBACK <br />

<br />

COMMIT <br />

ROLLBACK <br />

COMMIT <br />

ROLLBACK <br />

2 <br />

<br />

<br />

2 2PC2 <br />

RDBMS <br />

<br />

2 <br />

2 2 <br />

COMMIT COMMIT <br />

COMMIT <br />

RDBMS 2 <br />

2 RDBMS <br />

<br />

10–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2 2 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

2 <br />

2 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

RDBMS SQL <br />

<br />

RDBMS <br />

<br />

ISAM <br />

RDBMS <br />

<br />

10<br />

10.2 <br />

<br />

SQL 3 <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

10.2 10–3


2 2 <br />

<br />

<br />

<br />

<br />

2 <br />

2 <br />

<br />

<br />

<br />

<br />

<br />

0 <br />

1 <br />

2 <br />

3 <br />

<br />

RDBMS 1<br />

SELECT <br />

MS-SQL Server <br />

Set isolation level = 0<br />

<br />

10.3 <br />

RDBMS <br />

<br />

<br />

SQL INSERT <br />

UPDATE DELETE <br />

<br />

Oracle RDBMS MS-SQL <br />

<br />

<br />

<br />

<br />

10–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


RDBMS <br />

<br />

<br />

10.4 <br />

RDBMS Oracle <br />

<br />

<br />

RDBMS Oracle <br />

select * from table where ... for update<br />

<br />

<br />

10.5 <br />

<br />

<br />

<br />

<br />

begin transaction;<br />

update table set fld1=1 where fld2=2<br />

update table set fld1=3 where fld2=4<br />

both records are locked with an exclusive lock<br />

commit * both records are released<br />

10<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

10.4 10–5


10–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


11<br />

<br />

11.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–2<br />

11.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–2<br />

11.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–3<br />

11.4 MS-SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11–4<br />

11.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–4<br />

11.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–5<br />

11.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :11–5


11 <br />

<br />

<br />

RDBMS<br />

<br />

<br />

11.1 <br />

CREATE TABLE <br />

<br />

<br />

RDBMS RDBMS <br />

<br />

RDBMS <br />

<br />

<br />

<br />

<br />

<br />

RDBMS <br />

<br />

SELECT <br />

<br />

11.2 <br />

Oracle <br />

Oracle 3 <br />

3 <br />

USER <br />

<br />

ALL <br />

DBA <br />

3 <br />

USER OWNER<br />

DBA <br />

<br />

11–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


USER<br />

<br />

11<br />

<br />

<br />

MS-SQL Server <br />

MS-SQL Server Oracle <br />

<br />

4 RDBMS sys + <br />

<br />

MS-SQL Server ID ID <br />

<br />

11.3 <br />

<br />

<br />

SELECT <br />

<br />

<br />

<br />

SELECT <br />

MS-SQL Server <br />

Select a.name from sysindexes a ,sysobjects b<br />

where a.id=b.id and b.name=’ ’<br />

SELECT 2 sysindexes sysobjects <br />

sysindexesWHERE ID <br />

’ ’ <br />

Oracle <br />

Select Index_name from user_indexes<br />

where =’ ’<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

11.3 11–3


11.4 MS-SQL Server <br />

MS-SQL Server <br />

<br />

sa<br />

sp<br />

<br />

<br />

<br />

<br />

<br />

dbo <br />

<br />

EXECUTE<br />

<br />

sp help<br />

<br />

SQL <br />

<br />

SELECT <br />

FROM sysobjects<br />

11.5 <br />

RDBMS <br />

<br />

2 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

11–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


. . <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

11<br />

11.6 <br />

Oracle OS<br />

<br />

Oracle OS <br />

Oracle OS OS <br />

OS OPS ACCOUNT<br />

<br />

OS_AUTHENT_PREFIX.users<br />

OS AUTHENT PREFIX OS <br />

<br />

<br />

<br />

OS_AUTHENT_PREFIX=OPS$<br />

Operating System account: <strong>Magic</strong><br />

OPS$MAGIC<br />

Oracle OS <br />

OPS$MAGIC<br />

11.7 <br />

GRANT REVOKE <br />

<br />

<br />

GRANT Y=REVOKEfALL Y= g<br />

TO Y=FROM fPUBLIC Y= g<br />

CREATE TABLEVIEWRULE <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

11.6 11–5


GRANT Y=REVOKEfALL Y= g<br />

ON f [()]...<br />

TO Y=FROM fPUBLIC Y= g<br />

SELECTUPDATEINSERTREFERENCES <br />

<br />

- GRANT CREATE TABLE TO SCOTT.<br />

- REVOKE SELECT ON TABLE1 FROM SCOTT.<br />

Windows RDBMS <br />

<br />

Oracle<br />

MS-SQL Server<br />

User Manager of SQL & DBA Enterprise Manager<br />

SQL Enterprise Manager<br />

11–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


12<br />

<br />

12.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–2<br />

12.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–2<br />

12.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–3<br />

12.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–4<br />

12.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–4<br />

12.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :12–6


12 <br />

MS-SQL Server MS-SQL Server <br />

1 <br />

<br />

<br />

<br />

<br />

RDBMS MS-SQL Server <br />

<br />

12.1 <br />

2 <br />

WHERE ORDER BY <br />

<br />

<br />

<br />

<br />

ORDER BY WHERE <br />

<br />

<br />

<br />

ORDER BY WHERE<br />

ORDER<br />

BY <br />

GROUP BY <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

12.2 <br />

SQL RDBMS SQL <br />

SQL RDBMS <br />

<br />

12–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL RDBMS <br />

SELECT A.a,A.b,A.c,B.a,B.b,B.c<br />

FROM tableA a, tableB b<br />

WHERE A.a = B.a and A.d =5 and B.e =’open requests’<br />

ORDER BY B.b;<br />

12<br />

RDBMS tableA tableB 2 <br />

<br />

<br />

<br />

<br />

<br />

1. tableB B.b open requests <br />

open requests <br />

tableA A.d 5 A.aB.a<br />

B.b<br />

2. tableA A.d 5 <br />

5 tableB<br />

B.e open requests A.a B.a <br />

B.b<br />

3. tableA A.d 5 A.a<br />

tableB B.eopen requests<br />

B.a2 <br />

B.b<br />

4. <br />

<br />

<br />

<br />

<br />

<br />

<br />

12.3 <br />

<br />

<br />

<br />

UPDATE STATISTICS <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

12.3 12–3


MS-SQL Sewrver <br />

UPDATE STATISTICS<br />

[.][.] []<br />

Oracle <br />

ALTER TABLE - <br />

COMPUTE Y=ESTIMATE STATISTICS<br />

Oracle SQL <br />

<br />

<br />

UPDATE STATISTICS <br />

UPDATE STATISTICS <br />

<br />

<br />

TRUNCATE TABLE <br />

<br />

UPDATE<br />

STATISTICS <br />

12.4 <br />

<br />

RDBMS <br />

<br />

<br />

<br />

12.5 <br />

MS-SQL Server<br />

<br />

MS-SQL Server <br />

<br />

MS-SQL Server 23 <br />

SQL ISQL/W Dbplay Showplan<br />

<br />

Set Showplan <br />

<br />

<br />

<br />

SQL <br />

<br />

<br />

sp_recompiletable_name<br />

12–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


Oracle<br />

Oracle SQL<br />

Oracle SQL SQL <br />

<br />

SQL SQL <br />

SQL <br />

<br />

TKPROF <br />

TKPROF SQL SQL <br />

<br />

12<br />

SQL<br />

SQL SQL TRACE TRUE<br />

<br />

SQL <br />

<br />

ALTER SESSION<br />

SET SQL_TRACE = TRUE<br />

<br />

SQL <br />

ALTER SESSION<br />

SET SQL_TRACE = FALSE<br />

<br />

<br />

TKPROF <br />

TKPROF SQL <br />

TKPROF <br />

TKPROF EXPLAIN= / EXPLAIN= <br />

/ SQL <br />

<br />

TKPROF Oracle 7 B<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

12.4 12–5


EXPLAIN PLAN <br />

SELECT DML <br />

EXPLAIN PLAN <br />

Oracle <br />

EXPLAIN PLAN EXPLAIN PLAN <br />

CREATE TABLE <br />

UTLXPLAN.SQL <br />

PLAN.TABLE <br />

EXPLAIN PLAN <br />

EXPLAIN PLAN<br />

[SET STATMENT_ID=’ ’]<br />

[INTO ]<br />

FOR ;<br />

EXPLAIN PLAN SELECT <br />

SELECT LPAD (’ ’,2*(LEVEL-1))<br />

jj operation _ operations,<br />

options, object_name, position<br />

FROM plan_table<br />

START WITH id=0<br />

AND statement_id = ’statement id from EXPLAIN<br />

PLAN command’<br />

CONNECT BY PRIOR id=parent.id<br />

AND statement.id = ’statement id from EXPLAIN<br />

PLAN<br />

command’<br />

EXPLAIN PLAN Oracle 7 SQL <br />

<br />

12.6 <br />

MS-SQL Server <br />

SELECT <br />

<br />

create table ( integer , <br />

char(20), smallint)<br />

create unique index empno_ind on ()<br />

create index empname_ind on ()<br />

insert into values (1,’tomer’,2)<br />

insert into values (2,’dalit’,2)<br />

insert into values (3,’osnat’,4)<br />

insert into values (4,’michel’,1)<br />

insert into values (5,’john’,3)<br />

insert into values (6,’benjamin’,1)<br />

12–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SELECT <br />

SELECT * from WHERE >1<br />

12<br />

<br />

1<br />

SELECT <br />

FROM TABLE<br />

<br />

Nested iteration<br />

Index : empno_ind<br />

<br />

2 Dalit 2<br />

3 Osnat 4<br />

4 Michael 1<br />

5 John 3<br />

6 Benjamin 1<br />

empno ind <br />

WHERE ORDER BY SELECT <br />

SELECT *<br />

FROM <br />

WHERE >1<br />

ORDER BY asc<br />

<br />

1<br />

INSERT <br />

<br />

ORDER BY <br />

FROM TABLE<br />

<br />

Nested iteration<br />

Index : empno_ind<br />

TO TABLE<br />

Worktable 1<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

12.6 12–7


2<br />

SELECT<br />

FROM TABLE<br />

Worktable 1<br />

Using GETSORTED Table Scan<br />

<br />

6 Benjamin 1<br />

2 Dalit 2<br />

5 John 3<br />

4 Michael 1<br />

3 Osnat 4<br />

WHERE ORDER BY empno ind WHERE<br />

Worktable 1<br />

1 <br />

EMPNAME IND <br />

EMPNAME IND <br />

SELECT * from (index=empname_ind) where<br />

>1 order by <br />

<br />

1<br />

SELECT <br />

FROM TABLE<br />

<br />

Nested iteration<br />

Index : empname_ind<br />

<br />

6 Benjamin 1<br />

2 Dalit 2<br />

5 John 3<br />

4 Michael 1<br />

3 Osnat 4<br />

12–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


13<br />

<strong>dbMAGIC</strong> SQL<br />

13.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13–2<br />

13.2 <strong>dbMAGIC</strong> SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13–2<br />

13.3 <strong>dbMAGIC</strong> SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13–3<br />

13.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–3<br />

13.5 <strong>dbMAGIC</strong> API : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–4<br />

13.6 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13–4


13 <strong>dbMAGIC</strong>SQL<br />

<strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> <br />

MS-SQL ServerOracle SQL RDBMS <br />

SQL RDBMS <strong>dbMAGIC</strong> <br />

SQL <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

13.1 SQL <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

SQL <br />

<br />

<br />

<strong>dbMAGIC</strong> SQL SQL <strong>dbMAGIC</strong> <br />

SQL <br />

SQL 3GL4GL<br />

SQL SQL <strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> SQL MIS <br />

<strong>dbMAGIC</strong> SQL SQL <br />

SQL <strong>dbMAGIC</strong> SQL <br />

ANSI <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL <br />

SQL <strong>dbMAGIC</strong> SQL <br />

RDBMS <strong>dbMAGIC</strong> <br />

RDBMS <br />

<strong>dbMAGIC</strong> <br />

13.2 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> SQL RDBMS RDBMS <br />

OracleMS-SQL ServerODBC <br />

<br />

<strong>dbMAGIC</strong> SQL SQL SQL <br />

<br />

13–2 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL <br />

<strong>dbMAGIC</strong> SQL SQL <br />

SQL <strong>dbMAGIC</strong> <br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> SQL <br />

RDBMS RDBMS <br />

<strong>dbMAGIC</strong> <br />

RDBMS <br />

13<br />

SQL<br />

<strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong><br />

SQL SQL <br />

SQL SQL <br />

RDBMS SQL <strong>dbMAGIC</strong><br />

<br />

13.3 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

SQL <br />

<br />

SELECT<br />

<br />

13.4 <br />

<br />

<br />

RDBMS <br />

Version<br />

3 <strong>dbMAGIC</strong> -<br />

ID ID X.Y X<br />

678 Y<br />

<br />

1Oracle 7.3 Version 8.20-01J<br />

Oracle 7.3 RDBMS Version <br />

<strong>dbMAGIC</strong> 8.20 01J <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

13.3 <strong>dbMAGIC</strong> SQL 13–3


13.5 <strong>dbMAGIC</strong> API<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL SQL <br />

SQL SQL <br />

SQL <br />

<strong>Magic</strong> DBMS <br />

<br />

3GL 4GL SQL SQL <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<br />

<strong>dbMAGIC</strong> <br />

SQL SQL <br />

Oracle<br />

Oracle <strong>dbMAGIC</strong> Oracle OCI<br />

Oracle <br />

7 <br />

<br />

<br />

Oracle <strong>dbMAGIC</strong> Oracle Pro*C SQL*NET <br />

<br />

<br />

<br />

MS-SQL Server<br />

MS-SQL <strong>Magic</strong> SQL Dblib<br />

<br />

Microsoft SQL Server 6.5 <br />

ODBC<br />

ODBC <strong>Magic</strong> ODBC 2.00 API ODBC<br />

2 <br />

13.6 <strong>dbMAGIC</strong> <br />

SQL SQL <br />

<strong>dbMAGIC</strong> <br />

13–4 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<br />

ISAM SQL <br />

SQL <br />

<br />

<strong>dbMAGIC</strong> <br />

13<br />

<br />

<br />

<br />

SQL <br />

<br />

<br />

SQL <br />

SQL <br />

<br />

<br />

2 <strong>dbMAGIC</strong> SQL <br />

2 SQL SQL RDBMS <br />

SQL SQL <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

SQL SELECT <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> SQL <br />

INSERTUPDATEDELETE <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<strong>dbMAGIC</strong> <br />

1 <br />

SQL <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> <br />

RDBMS <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

13.6 <strong>dbMAGIC</strong> 13–5


<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

DBMS <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> SQL DBMS ISAM <br />

<strong>Magic</strong> SQL DBMS ISAM <br />

<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

3GL 4GL RDBMS <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<strong>Magic</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> RDBMS <strong>Magic</strong> RDBMS <br />

<strong>Magic</strong> <br />

RDBMS ANSI <strong>Magic</strong> <br />

RDBMS <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong><br />

SQL <br />

<br />

SET TRANSACTION <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

SQL RDBMS <strong>dbMAGIC</strong> <br />

SQL 2 <br />

<br />

13–6 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


14<br />

<br />

14.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–2<br />

14.2 RDBMS : : : : : : : : : : : : : : : : : : : : : : : 14–3<br />

14.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4<br />

14.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4


14 <br />

<br />

<br />

<br />

<br />

<br />

<br />

3 <br />

<br />

<br />

<br />

<br />

<br />

RDBMS SQL <br />

<br />

<br />

<br />

<br />

TCP/IP UNIXWindows NT <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

14.1 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> ( <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<br />

TCP/IP <br />

<br />

SQL <br />

14–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> TCP/IP <br />

Windows <strong>dbMAGIC</strong> MGWSOCK.DLL DLL<br />

<br />

SQL <br />

14<br />

SQL <br />

SQL <strong>dbMAGIC</strong> RDBMS <br />

SQL <strong>dbMAGIC</strong> <br />

MAGIC DATABASES<br />

MAGIC.INI<br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<br />

SQL md RDBMS <br />

mdms632.dllmdora32.dll<br />

<br />

<strong>dbMAGIC</strong> PC <br />

mg RDBMS mgms632.dll<br />

mgora73.dll<br />

14.2 RDBMS <br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

RDBMS <br />

Oracle <br />

SQL*NETV1V2<br />

MS-SQL Server<br />

NETlib<br />

<br />

<br />

SQL*NET<br />

<br />

RDBMS <br />

MAGIC <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

14.2 RDBMS 14–3


14.3 <br />

<br />

<br />

<br />

#$<br />

<br />

<br />

<br />

<br />

Á<br />

Â<br />

Æ<br />

Ç<br />

È<br />

Á<br />

Â<br />

É<br />

Ã<br />

Ç<br />

<br />

<br />

<br />

Á<br />

Â<br />

Ã<br />

Ä<br />

Å<br />

%"'&<br />

"<br />

%&<br />

<br />

<br />

<br />

<br />

(<br />

<br />

Á<br />

Â<br />

Æ<br />

Ç<br />

È<br />

(<br />

*+,-./0<br />

#$<br />

Á<br />

Â<br />

É<br />

Ã<br />

Ç<br />

<br />

%&<br />

<br />

<br />

ÁÂÃÄÅÆ<br />

ÇÈÉÈ<br />

<br />

)<br />

<br />

<br />

<br />

!"<br />

<br />

<br />

SQL PLUS <br />

14.4 <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> RDBMS <br />

<br />

RDBMS RDBMS <br />

MAGIC <strong>dbMAGIC</strong> <br />

SQL <br />

RDBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> ISAM <br />

<br />

14–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> <br />

<br />

RDBMS <strong>dbMAGIC</strong> <br />

RDBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> RDBMS <br />

PC <br />

PC RDBMS <br />

<br />

14<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

14.4 14–5


14–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


15<br />

RDBMS<br />

15.1 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15–2<br />

15.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :15–2<br />

15.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :15–3


15 RDBMS<br />

RDBMS RDBMS <br />

<br />

15.1 RDBMS <br />

Oracle<br />

ORACLE_HOME Oracle <br />

ORACLE_SID Oracle <br />

Personal Oracle <br />

SQL*NET2 <br />

TNS_ADMIN SQL*NET2 <br />

Oracle Windows NT <br />

MS-SQL Server<br />

MS-SQL Server <br />

15.2 <br />

Oracle<br />

<strong>dbMAGIC</strong> RDBMS <br />

<br />

DBA<br />

<br />

Oracle ORACLE HOMEY=bin <br />

Oracle<br />

Sql*plus Oracle <br />

sqlplus /<br />

Windows Sql*plusOracle <br />

<br />

SQL*NET Oracle <br />

15–2 RDBMS SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL*NET1 <br />

SQL*NET1 Oracle <br />

sqlplus / @SQL*NET1-<br />

Windows Sql*plus Oracle SQL*NET1<br />

<br />

Windows NT Oracle Host String <br />

<br />

SQL*NET1 <br />

::SID<br />

1 <br />

<br />

15<br />

2 Personal Oracled DECnett TCP/IPx SPX/IPXp pipe name<br />

Oracle SIDOracle SID <br />

SQL*NET2 <br />

SQL*NET2 Oracle <br />

sqlplus / @SQL*NET2- <br />

Windows Sql*plus Oracle SQL*NET2<br />

<br />

Windows NT Oracle Host String <br />

<br />

SQL*NET2- ORACLE HOME/network/admin/tnsnames.ora <br />

Oracle Windows <br />

<br />

MS-SQL Server<br />

MS-SQL Server SQL60Y=binn and SQL60Y=dll ISQL/w <br />

MS-SQL Server MS-SQL<br />

Server ISQL/w <br />

use <br />

go<br />

15.3 <br />

<br />

SQL <br />

GRANT CONNECT TO <br />

<br />

SQL <br />

GRANT RESOURCE TO <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

15.3 15–3


Windows <br />

Oracle<br />

<br />

<br />

<br />

MS-SQL Server<br />

SQL <br />

<br />

DMLDLL <br />

15–4 RDBMS SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


16<br />

<strong>dbMAGIC</strong><br />

16.1 SQL MAGIC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–2<br />

16.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–4<br />

16.3 DBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16–4<br />

16.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :16–6<br />

16.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16–10 :


16 <strong>dbMAGIC</strong><br />

SQL <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

MAGIC.INI <br />

16.1 SQL MAGIC <br />

SQL MAGIC <br />

<strong>dbMAGIC</strong> RDBMS <br />

SQL MAGIC <br />

<br />

DB DB RDBMS <br />

RDBMS MGDB13=mgora73.dll <br />

UNIX <br />

UNIX <br />

MAGIC_DB_14_DRIVER=$MAGIC_HOME/bin/mgoracle8<br />

14 DB +1 13 <br />

Windows 95 Windows NT MAGIC.INI [MAGIC GATEWAYS] <br />

MGDBnnnn DLL DLL <br />

Oracle ID13<br />

MGDB13=mgora73.dll<br />

<strong>dbMAGIC</strong> MGDB13 mdora32.dll<br />

SQLWindows MAGIC.INI [MAGIC GATEWAYS]<br />

<br />

[MAGIC_GATEWAYS]<br />

;MGCOMM01=mgwsock.dll<br />

MGDB00=mgbtrv.dll<br />

MGDB13=mgora8.dll<br />

MGDB19=mgodbc32.dll<br />

MGDB20=mgms632.dll<br />

MGDB21=mgmemory.dll<br />

MAGIC <br />

<br />

<br />

Windows <br />

MXrdbmOS.DLL<br />

16–2 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


MX MD SQL MG SQL <br />

<br />

rdbm ODBC RDBMS <br />

OS 32NT95<br />

32 Windows NT Windows 95 NT<br />

Windows NT 95 <br />

Windows 95 <br />

<br />

<br />

Oracle <br />

Oracle Oracle ORnn<br />

RDBMS nn Oracle <br />

87.3 Oracle 8 MGORA8.dll<br />

<br />

<br />

UNIX <br />

mxrdbms<br />

mx md SQL mg SQL <br />

rdbms Oracle RDBMS <br />

MAGIC <br />

<br />

16<br />

MAGIC <br />

RDBMS <br />

2 Version<br />

3 <strong>dbMAGIC</strong> -<br />

ID ID x.y x <br />

678 y<br />

<br />

<br />

<br />

Oracle 7.3 Version 8.20-01J<br />

Oracle 7.3 RDBMS Version<br />

<strong>dbMAGIC</strong> 8.20 01J<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

16.1 SQL MAGIC 16–3


16.2 <br />

ISAM<br />

<strong>dbMAGIC</strong> DBMS <br />

ISAM [ISAM<br />

] <br />

<strong>dbMAGIC</strong> <br />

ISAM <br />

<br />

MAGIC.INI ISAMTransaction<br />

SQL <br />

RDBMS <br />

RDBMS <strong>dbMAGIC</strong> <br />

SQL Yes<br />

<br />

SQL <br />

No<strong>dbMAGIC</strong> DBERR <br />

<br />

Yes DBERR <br />

<br />

<br />

MAGIC.INI DisplayFullMsgs<br />

<br />

YesRDBMS <br />

<br />

YesOracle SELECT <br />

FOR UPDATE Yes<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

Yes <br />

MAGIC.INI MultiUser<br />

16.3 DBMS<br />

NULL<br />

NULLYes<strong>dbMAGIC</strong> <br />

NULL CREATE TABLE <br />

NULL <br />

No NULL <br />

<br />

<br />

16–4 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


10.3<br />

DBMS <br />

<br />

Yes No No MS-SQL Server<br />

<br />

<br />

<br />

<br />

255 <br />

Yes No <br />

3 MS-SQL Server<br />

0 MS-SQL Server<br />

Yes No No <br />

16<br />

DBMS <br />

DBMS DBMS 16-1<br />

<strong>dbMAGIC</strong> <br />

16.1: DBMS<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

16.3 DBMS 16–5


16.4 <br />

<br />

<br />

16.2: <br />

<br />

<strong>dbMAGIC</strong> <br />

DBMS<br />

DBMS DBMS <br />

DBMS DBMS <br />

DBMS <br />

DBMS<br />

DB <br />

SQL <br />

MAGIC <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong><br />

MAGIC MAGIC <br />

<br />

RDBMS <br />

MAGIC <br />

<br />

RDBMS <br />

<br />

16–6 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


DB <br />

SQL RDBMS SQL <br />

MS-SQL Server <br />

MS-SQL Server SQL <br />

Oracle SQL*NET1 SQL*NET2 <br />

T:rs6000<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

2 <br />

<strong>dbMAGIC</strong> 7<br />

<br />

16<br />

<br />

DBMS Oracle <br />

<br />

SQL*NET2 <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

MGLOCK <strong>dbMAGIC</strong><br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<strong>dbMAGIC</strong> 7 <strong>dbMAGIC</strong> 2 <strong>dbMAGIC</strong><br />

8 <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

Yes<strong>dbMAGIC</strong> <br />

No<br />

Yes<br />

<strong>dbMAGIC</strong> DBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> DBMS <br />

DBMS <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

Yes<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

DBMS DBMS <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

16.4 16–7


Yes <br />

No <br />

DBMS <br />

<br />

<strong>dbMAGIC</strong><br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

DB <br />

<br />

SQL <br />

DBMS <br />

[<strong>dbMAGIC</strong> ] <strong>dbMAGIC</strong> <br />

T=<br />

<strong>dbMAGIC</strong> N= R= <strong>dbMAGIC</strong> <br />

DBMS <br />

DBMS <strong>dbMAGIC</strong><br />

N= R= <br />

R= B= <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

- <br />

<br />

DBMS XBase <br />

Yes<br />

SQL <br />

DBMS <br />

16–8 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> 67 <br />

8 <br />

<br />

OracleMS-SQL Server <br />

SELECT <strong>dbMAGIC</strong><br />

<strong>dbMAGIC</strong> <br />

MS-SQL Server <br />

FORCE INDEX <br />

MS-SQL Server <br />

Oracle <br />

<br />

DBMS <br />

DBMS <br />

<br />

16<br />

<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<br />

<br />

<br />

<br />

XA<br />

TP XA <br />

<br />

<br />

ACS ACS <br />

<br />

DBMS <br />

DBMS <br />

<br />

7 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> 56 <br />

16 Yes<strong>dbMAGIC</strong> <br />

<br />

<br />

<strong>dbMAGIC</strong> 78 <br />

2 <br />

<br />

Yes 2 <br />

1. No<br />

2. Yes<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

16.4 16–9


Yes<br />

16.3: <br />

<br />

255 OracleMS-SQL Server<br />

Yes No No <br />

255 Oracle<br />

0 OracleMS-SQL Server<br />

16.5 <br />

MAGIC.INI <strong>dbMAGIC</strong><br />

SQL <br />

MAGIC.INI <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong><br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> RDBMS <br />

2 <strong>dbMAGIC</strong> 2 <br />

<br />

<br />

SQL MAGIC.INI <br />

<br />

<br />

2 <br />

<br />

16–10 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


17<br />

<strong>dbMAGIC</strong> <br />

17.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–2<br />

17.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :17–5<br />

17.3 : : : : : : : : : : : : : : : : : : :17–8<br />

17.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17–10 :<br />

17.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17–13 :


17 <strong>dbMAGIC</strong><br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

DBA<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

17.1 <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

CREATE TABLE <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

DB <br />

<br />

Oracle 30 <br />

<br />

. . . <br />

<br />

DB <br />

<strong>dbMAGIC</strong> 8 <br />

DB <br />

<br />

my emp tableDB my emp table<br />

<br />

<strong>dbMAGIC</strong> DB <br />

XXFILL099 99 db-<br />

MAGIC 8 DB <br />

<br />

<br />

17–2 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


DBMS DBMS <br />

MAGIC.INI DBMS <br />

17<br />

17.1: <br />

<br />

<br />

<br />

<br />

ID <br />

<br />

YesNo <br />

<br />

Yes No Yes OracleMS-SQL Server<br />

255 OracleMS-SQL Server<br />

YesNo MS-SQL Server<br />

4 0 OracleMS-SQL Server<br />

<br />

N= D= <br />

<br />

<br />

<br />

SQL <br />

SQL <br />

RDBMS <strong>dbMAGIC</strong> RDBMS<br />

<strong>dbMAGIC</strong> 67 <br />

<br />

=<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.1 17–3


<strong>dbMAGIC</strong> DBMS Oracle<br />

ROWID RDBMS <br />

ROWID 19 <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

DBMS <br />

DBMS <br />

<br />

<br />

<br />

No<br />

<br />

No<br />

Yes <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

<br />

DBDEL() DBCOPY() 2 <br />

DBDEL() DBCOPY() <br />

<br />

<br />

Yes<br />

<br />

No<br />

<br />

OracleMS-SQL Server <br />

SELECT <strong>dbMAGIC</strong><br />

<strong>dbMAGIC</strong> <br />

MS-SQL Server <br />

FORCE INDEX <br />

MS-SQL Server <br />

<br />

17–4 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


MS-SQL DB <br />

DB <br />

DB <br />

YesNo<br />

<br />

1. <br />

2. DB <br />

Yes <br />

No DB <br />

<br />

BLOB DB <br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

0<br />

<br />

<br />

<br />

<br />

17<br />

17.2 <br />

17.2: <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> RDBMS <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.2 17–5


<strong>dbMAGIC</strong> <br />

<br />

RDBMS <br />

<br />

NULL <br />

NULL <br />

MAGIC.INI DBMS <br />

<br />

Yes NULL <br />

<br />

NULL NULL <br />

NULL NULL <br />

<br />

NULL <br />

2 NULL <br />

<br />

<br />

<br />

RDBMS <br />

<br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> CREATE<br />

TABLE RDBMS MS-SQL<br />

Server defvalue<strong>dbMAGIC</strong> <br />

CREATE TABLE 1. 1 (Col1 CHAR (5) NOT NULL DEFAULT ’defvalue’)<br />

<br />

<br />

<br />

CREATE <br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<strong>dbMAGIC</strong> Zstring<br />

Zstring <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

RDBMS RDBMS <br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> 18 <br />

<br />

17–6 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL <br />

<strong>dbMAGIC</strong> DBMS <br />

<br />

17<br />

17.3: SQL <br />

DB <br />

<br />

<br />

<strong>dbMAGIC</strong> 8 <br />

<br />

<br />

emp idemp id<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Oracle <strong>dbMAGIC</strong> Oracle ’DATE’ <br />

SQL CHAR (8) <br />

<strong>dbMAGIC</strong> RDBMS <br />

18 <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.2 17–7


UDT<br />

RDBMS <br />

’VARCHAR(20)’ ’description’ <br />

CREATE TABLE ALTER TABLE<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL <br />

17.3 <br />

17.4: <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <strong>dbMAGIC</strong><br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> ORDER BY SELECT <br />

SELECT <strong>dbMAGIC</strong> <br />

ORDER BY <br />

Deptno Asc<br />

EnameDesc 2 SELECT <br />

SELECT ... FROM ... WHERE ... ORDER BY Deptno Asc, Ename Desc’<br />

<br />

<strong>dbMAGIC</strong> <br />

17–8 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL 1 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

RDBMS <br />

<br />

<br />

<br />

<br />

17<br />

<br />

SQL <br />

SQL <br />

<strong>dbMAGIC</strong> DBMS <br />

<br />

<strong>dbMAGIC</strong> 67 8 <strong>dbMAGIC</strong><br />

<br />

DB <br />

<br />

<br />

<strong>dbMAGIC</strong> 8 <br />

DB <br />

<br />

<br />

emp ind1 DB <br />

emp ind1<br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.3 17–9


MS-SQL Server <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> 67 <br />

<strong>dbMAGIC</strong> <br />

8 <br />

<br />

<br />

<br />

<br />

<br />

MS-SQL Server <br />

<br />

<br />

PRIMARY KEY NO <br />

<br />

17.4 <br />

RDBMS <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<br />

1. <br />

2. <br />

3. RDBMS <br />

4. <br />

5. <br />

6. <br />

<br />

7. <br />

8. <br />

<strong>dbMAGIC</strong> <br />

17–10 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


17.5: <br />

17<br />

17.6: <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.4 17–11


17.7: <br />

<br />

1. <br />

2. <br />

3. <br />

4. <br />

5. <br />

6. <br />

S <br />

<br />

<br />

17.8: <br />

17–12 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1. <br />

2. <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

[] <br />

<br />

17<br />

SQL <br />

SQL <br />

SQL <br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> <br />

Oracle ROWID ROWID <br />

ROWID <br />

<br />

17.5 <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

ALTERRENAMEDROP RDBMS DLL <br />

ISAM <br />

<br />

<br />

<strong>dbMAGIC</strong> RDBMS <br />

DLL ALTER <br />

RDBMS <br />

Oracle Oracle ALTER <br />

<strong>dbMAGIC</strong> <br />

<br />

Oracle DLL <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

17.5 17–13


No<br />

<strong>dbMAGIC</strong><br />

SQL SQL <br />

ISAM <br />

RDBMS <br />

RDBMS <br />

<br />

17–14 <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


18<br />

<br />

18.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–2<br />

18.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–2<br />

18.3 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18–3<br />

18.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–4<br />

18.5 Oracle : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18–6<br />

18.6 Microsoft SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–7<br />

18.7 ODBC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18–8<br />

18.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18–9


18 <br />

<strong>dbMAGIC</strong> RDBMS <br />

<br />

18.1 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

RDBMS <strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

SQL <strong>dbMAGIC</strong><br />

<br />

<strong>dbMAGIC</strong> MS Float Basic RDBMS <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> 7 <strong>dbMAGIC</strong> 8 <br />

<br />

<strong>dbMAGIC</strong> 8 <br />

<strong>dbMAGIC</strong> 6 7 SQL <br />

CHAR (6) 8 <br />

18.2 <br />

SQL SQL <br />

<br />

SQL RDBMS <strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

LONGRAW Image Text <br />

<strong>dbMAGIC</strong> <br />

<br />

LONGRAW Image Text<strong>dbMAGIC</strong><br />

BLOB <br />

<br />

MS-SQL Server <strong>dbMAGIC</strong> <br />

<br />

<br />

Oracle 40 <br />

Float<br />

<br />

18–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


RDBMS <strong>dbMAGIC</strong> <br />

18.3 SQL <br />

<br />

SQL 1 <br />

VARCHAR2(1) CHAR(1) VARCHAR2(1) <br />

SQL CHAR(1) <br />

<strong>dbMAGIC</strong> <br />

<br />

SQL SQL <br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> RDBMS <br />

RDBMS SQL<br />

<br />

MS-SQLOracleODBC <br />

<strong>dbMAGIC</strong> MS-SQL Oracle ODBC <br />

Zstring Char/Text* Varchar2/ Long/ Char sql char/<br />

sql longvarchar <br />

Signed Integer SmallintInteger Number sql tinyint/<br />

sql smallint<br />

Unsigned Integer Binary Number sql integer/<br />

sql binary sql float<br />

Float FloatReal Number sql float/ sql double <br />

StringNumber BINARY Number sql binary <br />

Float MS-Basic BINARY RAW sql binary <br />

Packed Decimal BINARY RAW sql binary <br />

String Date Datetime/ Char Date/Char/ Raw sql date<br />

String Time Char Char/Raw/ Date sql time<br />

String Memo Binary /Image Raw/ Longraw sql binary<br />

Integer Logical Bit/ Smallint Number sql bit<br />

String Logical Binary Raw sql binary<br />

BLOB Blob*** Image Longraw sql longvarbinary<br />

Binary/ Image Raw/ Longraw sql binary/ sql long<br />

varbinary<br />

18<br />

<br />

*- <br />

**- <strong>dbMAGIC</strong> String DateSQL char (8) <br />

<br />

***- BLOB BLOB ( LONGRAW ) <br />

<br />

Oracle LONG LONG RAW <strong>dbMAGIC</strong> 254 <br />

<strong>dbMAGIC</strong> BLOB <strong>dbMAGIC</strong> <br />

<br />

****- MS-SQL <br />

(IntegerLogical) <br />

1() Bit 2 SmallInt MSSQL Bit <br />

<br />

Char/TEXT <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

18.3 SQL 18–3


Char Text<br />

Smallint/Intege <br />

[Smallint] [Integer] <br />

Float/Real <br />

[Real] [Float] Binary/Image*4 [Binary]<br />

[Image] <br />

Binary/Smallint <br />

[Bit] [Smallint] <br />

18.4 <br />

<strong>dbMAGIC</strong> RDBMS Date Time <br />

<br />

1. RDBMS <strong>dbMAGIC</strong> <br />

<br />

2. Btrieve ISAM <strong>dbMAGIC</strong> <br />

0 RDBMS 0 <br />

3. <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> 7 6 <br />

8 <strong>dbMAGIC</strong> 8 8 <br />

2000 <br />

<br />

<br />

String Date <br />

String Date CHARACTER<br />

CHARCHAR <br />

<br />

0Oracle <br />

Date MS-SQL Server Datetime <br />

<br />

NULL <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

0<strong>dbMAGIC</strong> CHARACTER <br />

<br />

<br />

CHAR (8)<br />

CHARACTER <br />

0<br />

18–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> - <strong>dbMAGIC</strong> Date Datetime <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

SQL<br />

24:00:00<br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> - <strong>dbMAGIC</strong> db-<br />

MAGIC Date Datetime <strong>dbMAGIC</strong> <br />

19 Date Datetime <br />

SQL ”DATE” ”DATETIME” <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> Time Date <br />

DVAL TVAL 2 <br />

<br />

<strong>dbMAGIC</strong> Date Datetime <br />

SQL <br />

<br />

18<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> RDBMS RDBMS <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

18.4 18–5


18.5 Oracle<br />

Oracle <br />

Oracle <strong>dbMAGIC</strong> <br />

Oracle <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> SQL <br />

<br />

<br />

<br />

Varchar2(n) Zstring 1-4000 n<br />

**<br />

Char(n) ** Zstring 1-255 CHAR(n) n<br />

Long ** Zstring 0* LONG 0<br />

Raw(n) *** Zstring 1-2000 n<br />

Long raw *** Blob 0* LONGRAW 0<br />

Number Float 8 10.3<br />

Number(p,q) Float 8 p-q.q<br />

Number(p) Float 8 p<br />

Date** String Date 8 YYYY/MM/DD<br />

Rowid Zstring 19 18<br />

* - Oracle Long Long raw <br />

** - Oracle7 2000 VARCHAR2 , LONG Oracle8 <br />

4000 VARCHAR2 , LONG CHAR <br />

CHAR(n) <br />

*** - Oracle7 253 RAW , LONG RAW Oracle8 <br />

1998 RAW , LONG RAW <br />

18–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


18.6 Microsoft SQL Server<br />

Microsoft SQL Server <strong>dbMAGIC</strong> <br />

MS-SQL Server <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

Char(n)Varchar(n) Zstring n1-255<br />

Text * Zstring <br />

Int Signed Integer 4<br />

Smallint Signed Integer 2<br />

Tinyint Unsigned Integer 1<br />

Numeric(p,s) Float 8<br />

Decimal(p,s) Float 8<br />

Float(8)(double precision) Float 8<br />

Float(4)(real) Float 4<br />

Money Float 8<br />

Smallmoney Float 4<br />

Datetime* Zstring/String Date 23/8<br />

Smalldatetime* Zstring/String Date 16/8<br />

Binary(n)Varbinary(n) Zstring n1-255<br />

Image Zstring <br />

Bit Integer Logical 1<br />

Timestamp Zstring 8<br />

18<br />

*-Microsoft SQL Server datetimesmalldatetime <strong>dbMAGIC</strong> Date<br />

Microsoft SQL Server Datetime Smalldatetime <strong>dbMAGIC</strong><br />

AlphaDatetime YYYY/MM/DD HH:MM:SS.mmm Smalldatetime <br />

YYYY/MM/DD HH:MM Datetime Smalldatetime <strong>dbMAGIC</strong> <br />

Alpha SQL DATETOALPHA=Y<br />

16.3 <br />

* - MS-SQL Server text <br />

* - datetime <strong>dbMAGIC</strong> String Date 1753/01/01 <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

18.6 Microsoft SQL Server 18–7


18.7 ODBC<br />

ODBC SQL <strong>dbMAGIC</strong> <br />

ODBC <strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

SQL CHAR Zstring 1-255<br />

SQL VARCHAR Zstring 1-255<br />

SQL LONGVARCHAR Zstring =0<br />

SQL DECIMAL Float 8<br />

SQL NUMERIC Float 8<br />

SQL SMALLINT Signed Integer 2<br />

SQL INTEGER Signed Integer 4<br />

SQL REAL Float 4<br />

SQL FLOAT Float 4<br />

SQL DOUBLE Float 8<br />

SQL BIT Integer Logical 1<br />

SQL TINYINT Unsigned Integer 1<br />

SQL BIGINT Signed Integer 4<br />

SQL BINARY ZString 1-255<br />

SQL VARBINARY ZString 1-255<br />

SQL LONGVARBINARY Blob Blob<br />

SQL DATE String Date 8<br />

SQL TIME String Time 6<br />

SQL TIMESTAMP String Date 8<br />

*-ZString Oracle Varchar2/Long/Char Oracle7 2000 <br />

VARCHAR2 , LONG Oracle8 4000 VARCHAR2 , LONG <br />

CHAR CHAR(n) <br />

*-StringMemo Oracle Raw/Longraw Oracle7 253 RAW<br />

, LONG RAW Oracle8 1998 RAW , LONG RAW <br />

18–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


18.8 <br />

<br />

MS-SQL Oracle<br />

Server<br />

30 30<br />

<br />

char binary 255<br />

varchar2 4000/2000*1<br />

250 254<br />

1962 32511<br />

256 255<br />

16<br />

BLOB 10 7<br />

BLOB 2GB 2GB<br />

16<br />

255<br />

4000/2000*1<br />

<br />

32767 <br />

1*2<br />

<br />

18<br />

*1 Oracle <br />

*2 <strong>dbMAGIC</strong> Oracle Long Long raw <strong>dbMAGIC</strong> <br />

”.”<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

18.8 18–9


18–10 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


19<br />

<strong>dbMAGIC</strong> SQL<br />

19.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–2<br />

19.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–3<br />

19.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–4<br />

19.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–4<br />

19.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–5<br />

19.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–8<br />

19.7 SQL WHERE : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–8<br />

19.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–11 :<br />

19.9 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–12 :<br />

19.10RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :19–12<br />

19.11 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–12 :<br />

19.12 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–12 :<br />

19.13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19–13 :


19 <strong>dbMAGIC</strong>SQL<br />

<strong>dbMAGIC</strong> SQL SQL <br />

RDBMS <strong>dbMAGIC</strong> <br />

<br />

19.1 <br />

<strong>dbMAGIC</strong> <br />

RDBMS SELECT <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<br />

RDBMS <br />

RDBMS ID <br />

ID <br />

Oracle ROWID <br />

MS-SQL Server TIMESTAMP <br />

ROWID <br />

TIMESTAMP <br />

<strong>dbMAGIC</strong> <br />

RDBMS Oracle SELECT ROWID ROWID <br />

WHERE <br />

<br />

SELECT , ,rowid<br />

FROM <br />

ORDER BY asc<br />

<br />

UPDATE SET =’ ’ WHERE ROWID=<br />

ROWID <br />

ROWID <br />

<br />

RDBMS Oracle ROWID <br />

RDBMS MS-SQL Server TIMESTAMP <br />

ODBC <br />

TIMESTAMP ROWID <br />

1 TIMESTAMP <br />

TIMESTAMP <br />

<br />

19–2 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


ROWID <br />

<br />

<br />

<br />

ROWID DBKEY <br />

ROWID DBKEY SELECT <br />

UPDATE DELETE WHERE <br />

<br />

<br />

19.2 <br />

<strong>dbMAGIC</strong> START POSITION <br />

<br />

1 <br />

<br />

SELECT ORDER BY <br />

SELECT ROWID <br />

ORDER BY <br />

ROWID DBKEY<br />

ORDER BY 1 <br />

<br />

Oracle <br />

SELECT <br />

19<br />

SELECT , , rowid<br />

FROM <br />

ORDER BY ASC, ROWID ASC<br />

ORDER BY ROWID<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> ORDER BY ROWID <br />

Oracle <br />

ORDER BY ROWID <br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

19.2 19–3


19.3 <strong>dbMAGIC</strong> <br />

<br />

<br />

Rowid<br />

1 11111<br />

2 22222<br />

3 33333<br />

4 44444<br />

1 <br />

<br />

1 <br />

SELECT <br />

SELECT , ,rowid<br />

FROM <br />

ORDER BY ASC<br />

2 <br />

3 <br />

4 <br />

<br />

GET CURRENT <strong>dbMAGIC</strong> SELECT <br />

<br />

SELECT , , rowid FROM <br />

WHERE rowid=11111<br />

GET CURRENT <br />

<br />

GET CURRENT <br />

<br />

<br />

SELECT <br />

<br />

SELECT , , rowid FROM <br />

WHERE rowid=11111 FOR UPDATE<br />

Oracle FOR UPDATE MS-SQL Server FOR UPDATE<br />

<br />

19.4 <br />

<strong>dbMAGIC</strong> SELECT <br />

SELECT <br />

<br />

<br />

<br />

SELECT <br />

<br />

19–4 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


2 <br />

<br />

<br />

<br />

2 <br />

<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<br />

<br />

<br />

<br />

19.5 <br />

1 <br />

RDBMS <br />

<strong>dbMAGIC</strong> SQL <br />

19<br />

<br />

RDBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

J=O=<br />

<br />

<br />

<br />

1 <br />

<br />

<br />

<br />

<br />

<br />

TRUE <br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

19.5 19–5


1. <br />

<br />

2. <br />

<br />

3. <br />

<br />

<br />

<br />

<br />

<br />

<br />

WHERE <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

SQL SQL RDBMS <br />

SELECT FOR UPDATE <br />

RDBMS SELECT FOR UPDATE <br />

Oracle FOR UPDATE <br />

<br />

<br />

RDBMS SELECT FOR UPDATE <br />

SELECT...FOR UPDATE<br />

<br />

<br />

<br />

<br />

<br />

Oracle <br />

Oracle <strong>dbMAGIC</strong> <br />

SELECT FOR<br />

UPDATE OF <br />

SelectA.col1, A.rowid, B.col1, b.rowid from Table1 A, Table2 B where A.col1=B.Col1 and A.rowid=<br />

’ ’ FOR UPDATE OF a.rowid<br />

Table1 A a.rowid<br />

19–6 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


1. SQL <br />

<br />

2. <br />

<br />

<br />

SELECT <br />

<br />

3. <strong>dbMAGIC</strong> SELECT SELECT <br />

<br />

A B <br />

4. <br />

<br />

<br />

DB <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

19<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

19.5 19–7


1) <br />

2) <br />

3) <br />

4) <br />

5) <br />

19.6 <br />

<br />

WHERE <br />

<br />

<br />

CNDRANGE( ) <br />

CNDRANGE <br />

<br />

1 TRUE FALSE FALSE <br />

SQL NULL <br />

<br />

CNDRANGE (, )<br />

<br />

<br />

<br />

TRUE FALSE <br />

TRUE <br />

<br />

TRUE <br />

FALSE <br />

CNDRANGE (‘TRUE’L, 10)<br />

10<br />

CNDRANGE (‘FALSE’L, 20)<br />

<br />

<br />

<br />

<br />

19.7 SQL WHERE <br />

SQL WHERE SQL WHERE <br />

<strong>dbMAGIC</strong> WHERE <strong>dbMAGIC</strong> <br />

WHERE <br />

<strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong><br />

WHERE WHERE <br />

19–8 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


[SQL WHERE ] <br />

SQL WHERE <br />

<br />

<br />

WHERE <br />

WHERE <br />

<br />

SQL WHERE <br />

<br />

<br />

<br />

[WHERE ] <br />

SQL WHERE WHERE <br />

2 <br />

ABC :<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

19<br />

ABC @:<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

[WHERE ] <br />

WHERE WHERE <strong>dbMAGIC</strong> SQL <br />

<br />

WHERE <br />

SQL WHERE AND <br />

<br />

[WHERE ] <br />

A. <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

@<br />

WHERE <br />

<br />

AEmployee.jobnameB<br />

VjobnameAB :A like ‘B%’ Employee.jobname<br />

like ‘B%’<br />

jobname like ‘B%’<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

19.7 SQL WHERE 19–9


:A like :B Employee.jobname like [ ”Vjobname”]<br />

jobname like ‘AB’ <br />

CVoperation”like” :A @:C :B jobname<br />

[Voperation] [”Vjobname”] jobname like ’AB’ <br />

SQL WHERE <br />

<strong>dbMAGIC</strong> WHERE SELECT <br />

WHERE 2 <br />

SQL WHERE SELECT <br />

SQL WHERE <br />

SELECT <strong>dbMAGIC</strong> <br />

<br />

SQL WHERE <br />

SQL WHERE <br />

SQL WHERE <br />

SQL WHERE <br />

<br />

SQL WHERE <br />

<br />

SQL BLOB <br />

<strong>dbMAGIC</strong> SQL WHERE SQL <br />

RDBMS <br />

<strong>dbMAGIC</strong> SQL WHERE <br />

SQL WHERE <br />

<br />

1. 1<br />

A. 1<br />

<br />

Vco11 <br />

10’ABC’ :Vco11’ABC ’<br />

’ABC’ 7 <br />

19–10 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


19.1: SQL WHERE <br />

19.8 <br />

<br />

RDBMS <strong>dbMAGIC</strong> 3<br />

<br />

1 <br />

<br />

SELECT , rowid<br />

FROM <br />

WHERE =3<br />

ORDER BY ASC<br />

2 <br />

1 <br />

<br />

SELECT , rowid<br />

FROM <br />

WHERE 3>=3<br />

ORDER BY ASC<br />

3 <br />

1 <br />

<br />

SELECT , rowid<br />

FROM <br />

WHERE


1 2 3 <br />

500 ID <br />

<br />

<br />

<br />

MAGIC.INI Yes<br />

3 <br />

3 <br />

RDBMS <br />

; ;<br />

Ctrl + End<br />

<br />

<br />

; ;<br />

Ctrl + End <br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> 7 <br />

No 3<br />

<br />

19.9 <br />

<strong>dbMAGIC</strong> 3 <br />

<br />

<br />

19.10 RDBMS <br />

SQL ORDER BY RDBMS <br />

ISAM <br />

RDBMS <strong>dbMAGIC</strong> <br />

RDBMS <br />

RDBMS <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

19.11 <br />

<strong>dbMAGIC</strong> 8 <br />

19.12 <br />

<br />

SELECT <br />

ORDER BY <br />

19–12 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> ORDER BY 1 <br />

ORDER BY <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> ORDER BY <br />

<br />

<strong>dbMAGIC</strong> <br />

19.13 <br />

ORDER BY RDBMS <br />

<br />

19<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

19.13 19–13


19–14 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


20<br />

<br />

20.1 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–2<br />

20.2 RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20–3<br />

20.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–3<br />

20.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :20–3


20 <br />

SQL <strong>dbMAGIC</strong> <br />

SQL SQL<br />

ISAM <br />

<br />

20.1 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL SQL<br />

<br />

<br />

SET <strong>dbMAGIC</strong> <br />

8 DBMS <br />

Windows 95Windows NT DBMS <br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

Yes No<br />

No <br />

Yes<br />

<br />

Yes No<br />

RDBMS MS-SQL Yes<br />

<br />

<br />

RDBMS <br />

20–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL <br />

<strong>dbMAGIC</strong> <br />

RDBMS <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <br />

20.2 RDBMS <br />

RDBMS SQL <br />

SQL <br />

RDBMS SQL <br />

Oracle SQL <br />

alter session set SQL TRACE=true<br />

MS-SQL Server <br />

<br />

TKPROF <br />

<br />

<strong>dbMAGIC</strong> SQL SHOWPLAN <br />

MS-SQL Server 6.5 SQL <br />

<br />

20<br />

RDBMS SQL <br />

SQL <br />

20.3 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

SQL <br />

20.4 <br />

SQL <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

20.2 RDBMS 20–3


20–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


21<br />

<br />

21.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–2<br />

21.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–2<br />

21.3 <strong>dbMAGIC</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–3<br />

21.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–5<br />

21.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–7<br />

21.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–8<br />

21.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–8<br />

21.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21–10 :<br />

21.9 ROLLBACK : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–10<br />

21.10INTRANS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21–11


21 <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

ISAM <br />

<strong>dbMAGIC</strong> <br />

DB <br />

<br />

<br />

<br />

<br />

<br />

ISAM <br />

Yes<br />

<br />

21.1 <br />

<br />

Yes <strong>dbMAGIC</strong> <br />

RDBMS <br />

Yes<strong>dbMAGIC</strong> RDBMS SET TRANSACTION <br />

<br />

No<strong>dbMAGIC</strong> <br />

<br />

SELECT ... FOR UPDATE <br />

No <strong>dbMAGIC</strong><br />

<br />

21.2 <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

mglock.dat<br />

21–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


RDBMS <br />

<br />

SQL SQL <br />

RDBMS <br />

<br />

21<br />

<br />

<br />

<br />

<br />

21.3 <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> 21.1 <br />

21.1: <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

21.3 <strong>dbMAGIC</strong> 21–3


<strong>dbMAGIC</strong> FOR UPDATE <br />

Oracle <br />

Oracle FOR UPDATE <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> 4.xx5.xx <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

7 <br />

<br />

7 <br />

<br />

<br />

21–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


21.4 <br />

21<br />

21.2: <br />

<br />

Yes NoYes<br />

<br />

Yes<br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

21.4 21–5


21.3: <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

21–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


21<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> 567 8 <br />

<br />

<strong>dbMAGIC</strong> 567 <br />

<br />

<br />

<strong>dbMAGIC</strong> 8 <br />

<br />

<br />

21.5 <br />

21.4: <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

21.5 21–7


A=<br />

<strong>dbMAGIC</strong> <br />

R= <br />

<br />

<br />

<br />

S=<br />

<br />

<br />

RDBMS <br />

<br />

<br />

<br />

<br />

<br />

<br />

21.6 <br />

<br />

21.4 <br />

21.7 <br />

SQL 2 <br />

<br />

<br />

UPDATE <br />

SELECT FOR UPDATE SELECT <br />

SQL <br />

<br />

<br />

SELECT ... FOR UPDATE <br />

<br />

<br />

Oracle SELECT ...FOR UPDATE 3 RDBMS<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

FOR UPDATE <br />

<br />

RDBMS <strong>dbMAGIC</strong> <br />

<br />

<br />

21–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


21<br />

SELECT , , , rowid<br />

FROM <br />

WHERE<br />

rowid=1111<br />

values: 1 , , 30<br />

<br />

SELECT , , , rowid<br />

FROM <br />

WHERE<br />

=1111<br />

FOR UPDATE NO WAIT<br />

values: 1 , , 30<br />

40 <br />

UPDATE SET =40<br />

WHERE<br />

rowid=1111<br />

<br />

<br />

<br />

Oracle SELECT FOR UPDATE ORDER BY <br />

FOR UPDATE <br />

<br />

<br />

7 <strong>dbMAGIC</strong> FOR UPDATE <br />

<br />

<br />

MS-SQL FOR UPDATE <br />

RDBMS<br />

MS-SQL <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

UPDATE WHERE <br />

<br />

UPDATE <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

21.7 21–9


SELECT , , <br />

FROM <br />

WHERE =1<br />

values: 1 , , 30<br />

<br />

SELECT , , <br />

FROM <br />

WHERE =1<br />

values: 1 , , 30<br />

40 <br />

UPDATE SET =40<br />

WHERE =1 AND =’ AND =30<br />

ODBC ODBC <br />

FOR UPDATE <br />

<br />

BLOB <br />

RDBMS BLOB WHERE <br />

<strong>dbMAGIC</strong> BLOB <br />

BLOB <br />

<br />

21.8 <br />

MS-SQL Server <br />

<br />

1READ COMMITTED <br />

<br />

<br />

<br />

RDBMS <br />

<br />

21.9 ROLLBACK <br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> ROLLBACK 2 <br />

<br />

TRUE<br />

FALSE <br />

21–10 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL 0<br />

<strong>dbMAGIC</strong> 1 <br />

21<br />

ROLLBACK (’True’Logical,0)<br />

ROLLBACK <br />

<br />

ROLLBACK ROLLBACK <br />

<br />

<br />

ROLLBACK <br />

<br />

ROLLBACK <br />

<br />

ROLLBACK <br />

<br />

<br />

21.10 INTRANS <br />

INTRANS <br />

TRUE FALSE TRUE <br />

<br />

INTRANS ( )<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

21.10 INTRANS 21–11


21–12 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


22<br />

SQL<br />

22.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22–2<br />

22.2 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22–4<br />

22.3 SELECT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–7<br />

22.4 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22–8<br />

22.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :22–9


22 SQL<br />

SELECT RDBMS <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

RDBMS SQL <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

DDLSQL <br />

SQL SQL <br />

<br />

SQL RDBMS <br />

SQL <br />

DDL <strong>dbMAGIC</strong> <br />

RDBMS <br />

22.1 SQL <br />

SQL <strong>dbMAGIC</strong> SQL <br />

SQL SQL <br />

<br />

<br />

1. <br />

2. <br />

3. <br />

4. <br />

5. <br />

6. <br />

22.1 <br />

22–2 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


22<br />

22.1: SQL <br />

<strong>dbMAGIC</strong> SQL SQL <br />

<br />

SQL <strong>dbMAGIC</strong> <br />

SQL SQL <br />

SQL <strong>dbMAGIC</strong> <br />

SQL <br />

<br />

SQL <br />

<br />

SQL <br />

<br />

<br />

5 <br />

<br />

RDBMS <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

22.1 SQL 22–3


22.2 SQL <br />

SQL <br />

22.2: SQL <br />

1. SQL SQL <br />

22.2 <br />

2. <br />

3. SQL <br />

SQL <br />

SQL SQL <strong>dbMAGIC</strong> <br />

SQL <strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

<br />

DBMS <br />

SQL <br />

RDBMS <br />

SQL <br />

SQL <br />

<br />

SQL :<br />

: SQL <br />

SQL :<br />

SQL RDBMS <br />

<br />

SQL SQL <br />

WHERE <br />

22–4 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL SELECT <br />

SQL <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

SQL <br />

<br />

22<br />

<br />

SQL SQL <br />

<br />

SQL SQL <br />

<br />

SQL <br />

<br />

SELECT <br />

SELECT ALL FROM EMPLOYEE<br />

SELECT <br />

SELECT * FROM EMPLOYEE<br />

<br />

22.3: SQL <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

22.2 SQL 22–5


1. SQL SQL <br />

22.3 <br />

;<br />

2. CTRL<br />

+<br />

<br />

3. SELECT<br />

4.<br />

;<br />

ENTER<br />

<br />

<br />

<br />

;<br />

K<br />

<br />

<br />

SQL SELECT<br />

5. <br />

<br />

;<br />

CTRL<br />

+<br />

;<br />

6. *<br />

7.<br />

;<br />

O<br />

<br />

ENTER<br />

<br />

SQL SELECT *<br />

<br />

8. SQL FROM <br />

9. <br />

10. EMPLOYEE<br />

11. ENTER EMPLOYEE <br />

SQL <strong>dbMAGIC</strong> <br />

RDBMS <strong>dbMAGIC</strong><br />

RDBMS <br />

SQL RDBMS <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

SELECT <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

SQL APG<br />

<strong>dbMAGIC</strong> SQL APG APG<br />

SQL APG <br />

SQL SQL APG SELECT <br />

<br />

SQL APG <br />

SQL <br />

<br />

<br />

<br />

SQL <br />

<br />

22–6 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


APG <br />

22<br />

22.4: APG<br />

1. SQL APG APG <br />

22.4 <br />

2.<br />

3.<br />

;<br />

ENTER<br />

<br />

;<br />

F7<br />

<br />

<br />

2 <br />

<br />

4. APG <br />

<br />

22.3 SELECT <br />

SQL <br />

<br />

<br />

<br />

SQL <br />

SQL <br />

<br />

SELECT <br />

SELECT <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

SELECT <br />

1 <br />

SELECT <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

22.3 SELECT 22–7


RDBMS <br />

<br />

INSERT INTO AS SELECT...<br />

<br />

SELECT <br />

<br />

SQL <br />

<br />

INSERT INTO AS SELECT " SELECT "<br />

SELECT <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

INSERT INTO AS SELECT <br />

ISAM ISAM <br />

<br />

<br />

<br />

22.4 SQL <br />

SQL <strong>dbMAGIC</strong> <br />

<br />

SQL SQL <br />

<br />

<br />

SQL <br />

<br />

<br />

22–8 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


22<br />

SQL <br />

SQL COMMITROLLBACK 2 <br />

<strong>dbMAGIC</strong> <br />

COMMITROLLBACK <strong>dbMAGIC</strong> <br />

<br />

SQL RDBMS <strong>dbMAGIC</strong> <br />

SQL RDBMS <br />

RDBMS <br />

SQL RDBMS <br />

<strong>dbMAGIC</strong> RDBMS <br />

SQL <strong>dbMAGIC</strong> <br />

RDBMS RDBMS RDBMS <br />

RDBMS <br />

DSQLSQL<br />

Oracle LONGRAW <br />

Oracle SELECT FOR UPDATE <br />

<br />

exec <br />

<br />

exec sp_order_update<br />

APG <br />

<br />

22.5 <br />

DBERR <br />

<strong>dbMAGIC</strong> SQL <br />

DBERR SQL <br />

SQL <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

22.5 22–9


22–10 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


23<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

23.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–2<br />

23.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–4<br />

23.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–5<br />

23.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–5<br />

23.5 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23–6<br />

23.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–6<br />

23.7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–7<br />

23.8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :23–7


23 <strong>dbMAGIC</strong> SQL <br />

<br />

<strong>dbMAGIC</strong> SQL <strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> SQL <br />

23.1 <br />

RDBMS <br />

RDBMS SQL WHERE WHERE <br />

<br />

<br />

SQL <br />

TBL1 F1F3F5 3 IN1<br />

F3F4F5 3 IN2<br />

<br />

IN1 F1<br />

F3 2 <strong>dbMAGIC</strong> <br />

<br />

SELECT F1, F2, F3, F4, F5<br />

FROM TBL1<br />

WHERE F1=1<br />

AND F3=100<br />

AND F3=200<br />

ORDER BY F1, F3, F5<br />

RDBMS F1 F3IN1<br />

<br />

IN1F1 F2 2 <br />

<strong>dbMAGIC</strong> <br />

<br />

SELECT F1, F2, F3, F4, F5<br />

FROM TBL1<br />

WHERE F1=1<br />

AND F2=’c’<br />

ORDER BY F1, F3, F5<br />

RDBMS F1IN1 F1=1<br />

F2c x<br />

IN1<br />

<br />

23–2 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


IN1 F1 F3<br />

2 <strong>dbMAGIC</strong> <br />

<br />

SELECT F1, F2, F3, F4, F5<br />

FROM tbl1<br />

WHERE F1>=1<br />

AND F1=10<br />

AND F3>=100<br />

AND F3=100<br />

AND F3


SELECT <br />

<br />

1 <br />

<br />

RDBMS 2 <br />

1 <br />

1 1 <br />

<br />

RDBMS <br />

<br />

<br />

<br />

<br />

<br />

<br />

23.2 <br />

<br />

APG <br />

<br />

<br />

<strong>dbMAGIC</strong> 2 <br />

<strong>dbMAGIC</strong> SELECT <br />

SELECT SELECT <br />

RDBMS RDBMS WHERE <br />

<br />

<br />

<br />

<br />

2 2 <br />

<br />

1100 200<br />

300 400 <br />

<br />

1 100 400<br />

300 400<br />

<br />

23–4 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


23.3 <br />

<br />

<br />

<br />

<br />

23<br />

<br />

<br />

1. db-<br />

MAGIC <br />

ISAM<br />

<strong>dbMAGIC</strong> ISAM <br />

<br />

<br />

2. <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Yes<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

23.4 <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

23.3 23–5


RDBMS <br />

SELECT ORDER BY RDBMS <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

23.5 SQL<br />

<strong>dbMAGIC</strong> RDBMS SQL <br />

RDBMS SQL <br />

SQL <br />

<br />

<br />

SUMTOTALAVG SQL <br />

SQL <br />

SELECT COUNT(*) <br />

23.6 <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

SELECT <br />

<br />

<br />

SELECT <br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> <br />

3 <br />

RDBMSSQL SELECT <br />

SELECT <br />

SELECT <br />

WHERE <br />

10,000 3 <br />

SELECT <br />

1+3 10,000 30,001 <br />

SELECT 1 <br />

<br />

RDBMS <strong>dbMAGIC</strong> <br />

<br />

<br />

F1F2 F1C3<br />

<strong>dbMAGIC</strong> F1 <strong>dbMAGIC</strong> <br />

C3C3 F2<br />

F2<br />

RDBMS F1 F2C3<br />

<strong>dbMAGIC</strong> <br />

23–6 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


23.7 <br />

<br />

<strong>dbMAGIC</strong> SQL <br />

<br />

<br />

24 <br />

<br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

23<br />

23.8 <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

SELECT <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

23.7 23–7


23–8 <strong>dbMAGIC</strong> SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


24<br />

<strong>dbMAGIC</strong> 8<br />

24.1 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24–2<br />

24.2 <strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24–2<br />

24.3 ISAM RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–3<br />

24.4 RDBMS ISAM : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–5<br />

24.5 RDBMS RDBMS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :24–5<br />

24.6 RDBMS ISAM : : : : : : : : : : : : : : : : : : : : : : : : : :24–5


24 <strong>dbMAGIC</strong>8<br />

<strong>dbMAGIC</strong> DBMS <strong>dbMAGIC</strong> <br />

RDBMS <br />

24.1 <strong>dbMAGIC</strong> 8 <br />

<strong>dbMAGIC</strong> 8 SQL <br />

<br />

<br />

SQL WHERE RDBMS <br />

<strong>dbMAGIC</strong> 67 <br />

SQL <br />

<strong>dbMAGIC</strong> <br />

DB <br />

<br />

INTRANS()CNDRANGE()ISDEFAULT() <br />

<br />

ISAM SQL <br />

24.2 <strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> 8 <br />

<strong>dbMAGIC</strong> 8 <strong>dbMAGIC</strong> RDBMS <br />

<br />

1. RDBMS <strong>dbMAGIC</strong> <br />

Zstring <strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> <br />

8 SQL Zstring <br />

<br />

2. <strong>dbMAGIC</strong> 18 SQL <br />

15 <strong>dbMAGIC</strong> <br />

<br />

3. <strong>dbMAGIC</strong> String Date 8 <br />

CTL <br />

<strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> 8 SQL<br />

8 <br />

<br />

<br />

<strong>dbMAGIC</strong> 67 CHAR (6) <br />

<br />

<br />

4. <strong>dbMAGIC</strong> 67 <strong>dbMAGIC</strong> <br />

8 <br />

<br />

24–2 <strong>dbMAGIC</strong> 8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


Oracle7 <br />

1. <strong>dbMAGIC</strong> 7 String Time SQL RAW <strong>dbMAGIC</strong> 8 CHAR<br />

<br />

2. <strong>dbMAGIC</strong>6 Oracle7 DBMS REFRESH=Y <br />

<br />

<strong>dbMAGIC</strong>6 7 <br />

3. <strong>dbMAGIC</strong>6 Oracle7 RAW <strong>dbMAGIC</strong>7 <br />

RAW 1 DBMS <br />

OLDRAW=Y <br />

<br />

24<br />

4. <strong>dbMAGIC</strong>6 Oracle7 StringDate( (8)) RAW<br />

<strong>dbMAGIC</strong>7 Oracle7 DATE <br />

DBMS OLDDATE=Y <br />

<br />

5. <strong>dbMAGIC</strong>6 Oracle7 OLD-<br />

DATE=Y RAW(8) <br />

6. <strong>dbMAGIC</strong>6 Oracle7 LONG=Y<br />

LONGRAW=Y VARCHAR=N LONG LONGRAW CHAR <br />

LONG LONGRAW CHAR(n) <br />

7. <strong>dbMAGIC</strong>6 Oracle7 <br />

+KEYnnn(nnn ) <strong>dbMAGIC</strong>6 <br />

Oracle7 KEYnnn+<br />

24.3 ISAM RDBMS<br />

ISAMBtrieve CISAMSQL <br />

ISAM SQL <br />

SQL <br />

<br />

RDBMS <br />

<br />

MAGIC.INI <strong>dbMAGIC</strong><br />

<br />

<br />

<br />

<br />

<br />

SQL <br />

0<br />

SQL CHAR(6) CHAR(8) <br />

ISAM <br />

NULL <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

24.3 ISAM RDBMS 24–3


<strong>dbMAGIC</strong> db-<br />

MAGIC <br />

ASCII <br />

SQLloader bcp RDBMS <br />

<strong>dbMAGIC</strong> <br />

<br />

NULL INSERT <br />

NULL <br />

<strong>dbMAGIC</strong> INSERT <br />

<br />

<br />

RDBMS MS-SQL <br />

DBPOS <br />

19 <br />

<br />

<br />

ISAM SQL <br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

ISAM <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

ISAM <br />

RDBMS <br />

ISAM <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

SQL <br />

SQL <br />

SQL <br />

<br />

SQL <br />

SQL <br />

24–4 <strong>dbMAGIC</strong> 8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> <br />

RDBMS <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> SQL <br />

<strong>dbMAGIC</strong> <br />

RDBMS<br />

<strong>dbMAGIC</strong> <br />

24.4 RDBMS ISAM<br />

RDBMS <strong>dbMAGIC</strong> ISAM <br />

SQLNULL SQL <br />

<br />

<br />

<br />

<br />

24<br />

24.5 RDBMS RDBMS<br />

RDBMS RDBMS ISAM<br />

RDBMS RDBMS ISAM <br />

<br />

<br />

SQL <br />

RDBMS <br />

<br />

<strong>dbMAGIC</strong> RDBMS <br />

<br />

RDBMS Oracle<br />

RDBMS <br />

<br />

RDBMS RDBMS <br />

<br />

24.6 RDBMS ISAM <br />

RDBMS ISAM <br />

<br />

<br />

RDBMS ISAM SQL ISAM <br />

RDBMS ISAMSQL <br />

SQL ISAM <br />

RDBMS <br />

ISAM <br />

SQL <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

24.4 RDBMS ISAM 24–5


RDBMS ISAM <br />

MAGIC.INI INIGET <br />

<br />

RDBMS ISAM <br />

<br />

RDBMS RDBMS RDBMS <br />

RDBMS ISAM <br />

24–6 <strong>dbMAGIC</strong> 8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


25<br />

<br />

25.1 SQL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25–2<br />

25.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :25–3<br />

25.3 Oracle : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25–4<br />

25.4 MS-SQL Server : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25–6<br />

25.5 ODBC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25–9<br />

25.6 <strong>dbMAGIC</strong> 8 : : : : : : : : : : : : : : : : : : : : : : : : :25–10


25 <br />

SQL <br />

<br />

25.1 SQL <br />

<br />

SQL SQL <br />

<br />

<strong>dbMAGIC</strong> SQL SQL <strong>dbMAGIC</strong> <br />

SQL SQL <br />

<br />

SELECT <br />

SQL SQL <br />

GROUP BYSUMDISTINCT <br />

<br />

<br />

SELECT SELECT <br />

<br />

<br />

<br />

<br />

APG<br />

<br />

<strong>dbMAGIC</strong> APG<br />

SELECT <br />

<br />

SQL SELECT <br />

DDL PL/SQL <br />

25–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


25.2 <br />

<br />

<strong>dbMAGIC</strong> RDBMS <br />

<strong>dbMAGIC</strong> RDBMS<br />

RDBMS <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

25<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

DBERR DBERR <br />

<br />

<br />

ISAM MS-SQL <br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

MS-SQL <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Yes <br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

25.2 25–3


25.3 Oracle<br />

Oracle <strong>dbMAGIC</strong> <br />

<br />

Oracle SELECT <br />

<br />

<br />

/*+Oracle */<br />

<br />

RDBMS <br />

<br />

Oracle exec execute<br />

<br />

exec <br />

<br />

execute <br />

INOUT OUT PL/SQL <br />

<br />

begin (:1, ’:2’); end;<br />

in, inout, out <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

in SQL <br />

in <strong>dbMAGIC</strong> <br />

DSTR, ’YY-MM-DD’<br />

EXEC (); OUT <br />

SQLAPG BEGIN; ;END;<br />

SQLAPG OUT <br />

<br />

OUT <br />

<br />

exec (:1,’:2’,,)<br />

OUT <br />

B= Yes /<br />

Yes <br />

25–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


Oracle INOUT OUT <br />

INOUT YYYYMMDD<br />

<br />

<br />

<br />

<br />

<br />

<br />

Oracle <strong>dbMAGIC</strong> <br />

<br />

Oracle <br />

ROWID <br />

SQL ROWID<br />

<br />

<br />

<br />

25<br />

<strong>dbMAGIC</strong> Oracle <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

Oracle 7 Oracle 7 ROWID <br />

Oracle <br />

ROWID <br />

<br />

2 <br />

Oracle 2 Oracle <br />

<br />

<br />

RDBMS Oracle Oracle <br />

<br />

TABLESPACE=...<br />

INITRANS=...<br />

MAXTRANS=...<br />

PCTFREE=...<br />

PCTUSED=...<br />

CLUSTER=...<br />

STORAGE=...<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

25.3 Oracle 25–5


<strong>dbMAGIC</strong> Oracle <br />

Oracle <br />

<br />

<br />

<strong>dbMAGIC</strong> <br />

1. <br />

2. DB <br />

3. <strong>dbMAGIC</strong> <br />

4. <br />

<br />

SQL <br />

Oracle 7 SQL <br />

<br />

NO DEFER <br />

NO DEFER=N <br />

NO DEFER=Y <br />

<br />

DBCOPY <br />

KEYnnn + <br />

(nnn:) <br />

25.4 MS-SQL Server<br />

MS-SQL Server <strong>dbMAGIC</strong> <br />

<br />

MS-SQL Server SELECT <br />

SQL<br />

HOLDLOCK<br />

<br />

Select fld1 from table1 (HOLDLOCK) order by fld1 asc.<br />

FORCE INDEX<br />

<br />

FORCE INDEX<br />

FORCE INDEX<br />

<br />

<br />

NO<br />

<br />

25–6 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


FORCE INDEX<br />

<br />

SELECT <br />

"(INDEX )"<br />

<strong>dbMAGIC</strong> <br />

RDBMS <br />

<br />

<br />

MS-SQL Server <strong>dbMAGIC</strong> <br />

MS-SQL<br />

Server <br />

MS-SQL<br />

Server <br />

25<br />

<br />

MS-SQL Server <br />

<br />

MS-SQL Server <br />

<strong>dbMAGIC</strong> <br />

<strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

MS-SQL Server <strong>dbMAGIC</strong> <br />

MS-SQL Server <br />

<strong>dbMAGIC</strong> [B=] <strong>dbMAGIC</strong> <br />

<br />

DB <br />

<strong>dbMAGIC</strong> <br />

<br />

No<br />

DB <br />

<br />

3<br />

<br />

<br />

<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

25.4 MS-SQL Server 25–7


LRU <br />

<br />

<br />

SQL <br />

SELECT <br />

SQL <br />

<br />

MS-SQL Gateway: No more connections available. Try increasing Max Connections in the DBMS properties.<br />

DBMS <br />

DBMS <br />

SQL <br />

<br />

<br />

SELECT <br />

SELECT APG<br />

APGAPG <br />

<br />

APG SELECT <br />

<br />

<strong>dbMAGIC</strong> <br />

:1,:2 <br />

SELECT OUTPUT <br />

<br />

<br />

<br />

SQL SQL <br />

<br />

<br />

<br />

<br />

<br />

SQL No<br />

DB <br />

DBMS <br />

3 1 1<br />

<br />

<br />

<br />

<br />

<br />

25–8 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


SQL<br />

<br />

SQLBLOB=n<br />

n BLOB <br />

65534 2147483647 SQLBLOB <br />

SQL <br />

SQL BLOB <br />

Btrieve SQL Btrieve <br />

<br />

25.5 ODBC<br />

25<br />

<br />

ODBC <br />

ODBC <strong>dbMAGIC</strong> <br />

SQL <br />

ODBC<br />

ODBC ODBC Ver2.0 ODBC<br />

SQL ODBC<br />

<br />

ODBC <br />

ODBCODBC <br />

Microsoft Query ODBC <br />

Microsoft Query ODBC<br />

<br />

<br />

<br />

<br />

<strong>dbMAGIC</strong> <strong>dbMAGIC</strong> <br />

<br />

<br />

<br />

ODBCODBC<br />

<br />

ODBC <strong>dbMAGIC</strong> ODBC <br />

<br />

ODBC <br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

25.5 ODBC 25–9


Microsoft Access 227 <br />

<br />

N 2 <br />

Signed Unsigned<br />

<br />

ODBC <br />

ODBC <br />

ODBC<br />

<br />

<br />

25.6 <strong>dbMAGIC</strong> 8 <br />

<strong>dbMAGIC</strong> 8 <br />

<br />

<br />

Oracle MS-SQL Server ODBC<br />

DBMS SQL MAX SERVER CONNECTIONS<br />

DBMS SQL SHOWPLAN<br />

DBMS SQL ISOLATION LEVEL<br />

SQL TAB EXIST<br />

<br />

SQL HINT<br />

<br />

<br />

SQL CONNECT<br />

SQL TAB EXIST<br />

<br />

SQL VIEW<br />

SQL OWNER SQL OWNER SQL OWNER<br />

SQL HINT SQL HINT<br />

<br />

<br />

<br />

<br />

SQL HINT<br />

<br />

<br />

<br />

<br />

<br />

DB <br />

<br />

<br />

CONSTRAINT<br />

DBPOS<br />

SQL TYPE SQL TYPE SQL TYPE<br />

<br />

<br />

25–10 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


MS-SQL Server<br />

<br />

MSDATE SQL DATETOALPHA <br />

Oracle<br />

<br />

NO DEFER<br />

<br />

CLUSTER<br />

INITRANS<br />

MAXTRANS<br />

PCTFREE<br />

PCTUSED<br />

STORAGE<br />

TABLESPACE<br />

25<br />

SQL <br />

Oracle MS-SQL Server ODBC<br />

DBMS x x x<br />

DBMS x x x<br />

DBMS x x x<br />

DBMS x x x<br />

DBMS x<br />

DBMS x<br />

DBMS x<br />

x x x<br />

x<br />

x<br />

x<br />

x x x<br />

x x x<br />

x x x<br />

x x x<br />

x x<br />

x<br />

x x<br />

x<br />

x x<br />

x x x<br />

<br />

x x x<br />

x<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

25.6 <strong>dbMAGIC</strong> 8 25–11


25–12 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


A SQL <br />

A.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A–2


A<br />

SQL<br />

A.1 <br />

SELECT<br />

<br />

SELECT , ,...<br />

FROM 1 [, 2 ,...]<br />

[WHERE ]<br />

[GROUP BY [, ,...] ]<br />

[HAVING ]<br />

[ORDER BY 1 [ASC / DESC] [, 2 [ASC / DESC] ,...] ]<br />

INSERT<br />

<br />

INSERT INTO [( 1, 2,...)]<br />

VALUES ( 1, 2,...)<br />

[SELECT ]<br />

DELETE<br />

<br />

DELETE FROM <br />

[WHERE ]<br />

UPDATE<br />

<br />

UPDATE <br />

SET 1= 1, 2= 2...<br />

[WHERE ]<br />

CREATE TABLE<br />

<br />

CREATE TABLE ( 1 , 2 ,...)<br />

A–2 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


ALTER TABLE<br />

A<br />

<br />

ALTER TABLE ADD <br />

DELETE<br />

MODIFY<br />

CREATE VIEW<br />

<br />

CREATE VIEW [()]<br />

AS SELECT SQL <br />

CREATE INDEX<br />

<br />

CREATE [UNIQUE] INDEX <br />

ON ( [DESC],...)<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

A.1 A–3


A–4 SQL SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


B<br />

<br />

B.1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–2<br />

B.6 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : B–3


B<br />

<br />

B.1 <br />

<br />

1 <br />

2 <br />

3 <br />

4 <br />

B.2 <br />

<br />

10 <br />

20 <br />

30 <br />

B.3 <br />

<br />

10 1 10<br />

10 2 20<br />

20 2 16<br />

30 3 20<br />

B.4 <br />

<br />

3 750,000 750,042 <br />

4 800,000 835,915 <br />

4 700,000 692,637 <br />

2 350,000 367,911 <br />

1 200,000 186,042 <br />

B.5 <br />

<br />

10 <br />

20 <br />

30 <br />

40 <br />

50 <br />

B–2 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


B.6 <br />

<br />

<br />

<br />

<br />

<br />

<br />

3567 3970 15-Apr-85 4300 2000 33 40<br />

3891 3970 01-Jan-94 4400 3000 32 40<br />

3092 3970 15-Jun-93 4050 5050 40 40<br />

3667 3373 17-Oct-90 3000 27 30<br />

3559 3408 03-May-89 4250 30 50<br />

3123 . 13-Mar-8 5500 40 10<br />

3472 3123 13-Mar-8 4750 43 10<br />

3373 3408 02-Feb-93 3900 41 50<br />

3162 3123 02-Dec-87 4200 35 20<br />

3408 3123 04-Aug-89 4700 33 50<br />

3582 3162 22-Jan-92 3500 42 20<br />

3115 3162 15-Mar-93 3375 22 10<br />

3012 3408 27-Jul-91 4175 42 50<br />

3970 3123 15-May-94 4850 43 40<br />

B<br />

SQL <br />

<strong>dbMAGIC</strong> Ver.8.2<br />

B.6 B–3


B–4 SQL <br />

<strong>dbMAGIC</strong> Ver.8.2


<strong>dbMAGIC</strong> Ver.8.2 SQL <br />

c1999,<strong>Magic</strong> <strong>Software</strong> Japan K.K.<br />

1999 2 5 1999 7 16 <br />

151-0053 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!