<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>...낭만코딩 ^^</title>
		<link>http://thx4alice.tistory.com/</link>
		<description>많은 이야기들</description>
		<language>ko</language>
		<pubDate>Wed, 17 Aug 2011 08:41:46 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<image>
		<title>...낭만코딩 ^^</title>
		<url><![CDATA[http://cfile9.uf.tistory.com/image/124CB3254C118CF28877AD]]></url>
		<link>http://thx4alice.tistory.com/</link>
		<description>많은 이야기들</description>
		</image>
		<item>
			<title>[이동통신] 이동통신기술의 역사</title>
			<link>http://thx4alice.tistory.com/509</link>
			<description>&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/17544C234C15913306AF83&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/17544C234C15913306AF83&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;1120411662.jpg&quot; height=&quot;340&quot; width=&quot;520&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
세대를 구분하는 가장 좋은 방법은 전송속도라고 합니다.&lt;br /&gt;
전송속도가 빨라지게되면서&lt;br /&gt;
음성 -&amp;gt; 음성+문자 -&amp;gt; 음성+문자+영상 -&amp;gt; 음성+문자+영상+대용량데이터&lt;br /&gt;
하는 식으로 세대별 발전이 이루어졌다고 보면 되겠네요.&lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;&lt;A href=&quot;http://shings47.tistory.com/140&quot;&gt;http://shings47.tistory.com/140&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;A href=&quot;http://shings47.tistory.com/141&quot;&gt;http://shings47.tistory.com/141&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;&lt;A href=&quot;http://shings47.tistory.com/142&quot;&gt;http://shings47.tistory.com/142&lt;/A&gt;&lt;br /&gt;
&lt;/STRONG&gt;&lt;br /&gt;
잘된 정리글이 있어 링크를 걸어봅니다.</description>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/509</guid>
			<comments>http://thx4alice.tistory.com/509#entry509comment</comments>
			<pubDate>Mon, 14 Jun 2010 11:28:33 +0900</pubDate>
		</item>
		<item>
			<title>[이동통신] 풀어서 쓴 FDMA, TDMA, CDMA</title>
			<link>http://thx4alice.tistory.com/508</link>
			<description>&lt;STRONG&gt;- FDMA (Frequency Division Multiple Access)&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;문자 그대로 풀어서 써보자. 주파수 분할 다중접속.&lt;br /&gt;
1. 100Khz 라는 주파수 대역폭이 있다고 가정하자.&lt;br /&gt;
2. 10Khz 씩 나누면 한 번에 10명이 통화할 수 있다.&lt;br /&gt;
일단은 이런 개념이 된다.&lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;- TDMA (Time Division Multiple Access)&lt;br /&gt;
&lt;/STRONG&gt;&lt;br /&gt;
시간 분할 다중접속.&lt;br /&gt;
1. 마찬가지로 100Khz 라는 주파수 대역폭이 있다고 가정하자.&lt;br /&gt;
2. 10Khz 씩 나누되, 이번에는 10Khz 에 대하여 3명이 번갈아 사용하도록 한다.&lt;br /&gt;
이것이 가능한 이유는, 3명 개개인의 통화시간을 아주 잘게 쪼개어 통화가 끊기는 느낌이 없도록 하는 것이다.&lt;br /&gt;
이론적으로 FDMA 에 비해 3배 더 많은 통화량을 감당할 수 있게된다.&lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;- CDMA (Code Division Multiple Access)&lt;br /&gt;
&lt;/STRONG&gt;&lt;br /&gt;
코드 분할 다중접속.&lt;br /&gt;
1. 송신자측에서 수신자측으로 데이터를 보낸다. (디지털)&lt;br /&gt;
2. 전송되는 데이터는 송신자측의 전용코드를 곱하여&amp;nbsp;100Khz 주파수 전체로 전송된다.&lt;br /&gt;
3. 수신자측은 송신자측이 사용한&amp;nbsp;전용코드를 다시 곱하여&amp;nbsp;복원된 데이터로 받게된다.&lt;br /&gt;
대충 이런 내용이 되겠다. 가장 많은 통화량을 확보할 수 있는 방법이라 한다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;</description>
			<category>프로토콜</category>
			<category>CDMA</category>
			<category>FDMA</category>
			<category>tdma</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/508</guid>
			<comments>http://thx4alice.tistory.com/508#entry508comment</comments>
			<pubDate>Mon, 14 Jun 2010 10:41:48 +0900</pubDate>
		</item>
		<item>
			<title>[책] 내가 상상하면 현실이 된다 - 리처드 브랜슨</title>
			<link>http://thx4alice.tistory.com/497</link>
			<description>&lt;br /&gt;

&lt;TABLE style=&quot;BORDER-BOTTOM: #f3f3f3 1px solid; BORDER-LEFT: #f3f3f3 1px solid; LINE-HEIGHT: 16px !important; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #f3f3f3 1px solid; BORDER-RIGHT: #f3f3f3 1px solid&quot; border=0 cellSpacing=0 cellPadding=12 width=374 height=105 category=&quot;book_detail&quot; key=&quot;KY_KOR9788901072951&quot; openpost=&quot;false&quot;&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-BOTTOM: 0px&quot;&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width=350&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=68&gt;&lt;A href=&quot;http://book.daum.net/detail/book.do?bookid=KOR9788901072951&quot; target=_blank&gt;&lt;IMG border=0 src=&quot;http://photo-book.daum-img.net/images/nbook/medium/951/m9788901072951.jpg&quot; width=55 height=80&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD width=12&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=278&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width=&quot;100%&quot;&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH height=18 vAlign=top colSpan=2 align=left&gt;&lt;FONT style=&quot;FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px; FONT-WEIGHT: bold&quot;&gt;&lt;A style=&quot;COLOR: #333333 !important; TEXT-DECORATION: none !important&quot; href=&quot;http://book.daum.net/detail/book.do?bookid=KOR9788901072951&quot; target=_blank&gt;&lt;STRONG&gt;내가 상상하면&lt;/STRONG&gt; 현실이 된다&lt;/A&gt;&lt;/FONT&gt; &lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height=18 vAlign=top width=55 align=left&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px&quot;&gt;카테고리&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD height=18 vAlign=top align=left&gt;&lt;SPAN style=&quot;TEXT-OVERFLOW: ellipsis; DISPLAY: block; FLOAT: left; HEIGHT: 14px; OVERFLOW: hidden&quot;&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px&quot;&gt;시/에세이&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height=36 vAlign=top width=55 align=left&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px&quot;&gt;지은이&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD height=36 vAlign=top align=left&gt;&lt;SPAN style=&quot;TEXT-OVERFLOW: ellipsis; DISPLAY: block; FLOAT: left; HEIGHT: 14px; OVERFLOW: hidden&quot;&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px&quot;&gt;리처드 브랜슨 (리더스북, 2007년)&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top colSpan=2 align=left&gt;&lt;A style=&quot;PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 5px; FONT-FAMILY: 돋움,dotum,verdana; BACKGROUND: url(http://deco.daum-img.net/contents/info/ic_more.gif) no-repeat 100% 3px; COLOR: #999999 !important; FONT-SIZE: 11px; TEXT-DECORATION: underline; PADDING-TOP: 0px&quot; href=&quot;http://book.daum.net/detail/book.do?bookid=KOR9788901072951&quot; target=_blank&gt;상세보기&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
요 책을 읽었다.&lt;br /&gt;
&quot;내가 상상하면 현실이 된다&quot;&lt;br /&gt;
&lt;br /&gt;Virgin 그룹의 회장 리처드 브랜슨의 이야기이다.&lt;br /&gt;
저자도 본인이시다 ^.^&lt;br /&gt;
&lt;br /&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: #f3f3f3 1px solid; BORDER-LEFT: #f3f3f3 1px solid; LINE-HEIGHT: 16px !important; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #f3f3f3 1px solid; BORDER-RIGHT: #f3f3f3 1px solid&quot; border=0 cellSpacing=0 cellPadding=12 width=374 height=120 category=&quot;people_detail&quot; key=&quot;Gvz&quot; openpost=&quot;false&quot;&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-BOTTOM: 0px&quot;&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width=350&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=66&gt;&lt;A href=&quot;http://search.daum.net/cgi-bin/nsp/search.cgi?q=%EB%A6%AC%EC%B0%A8%EB%93%9C%20%EB%B8%8C%EB%9E%9C%EC%8A%A8%20%28Richard%20Charles%20Nicholas%20Branson%29+%ED%95%B4%EC%99%B8%EA%B8%B0%EC%97%85%EC%9D%B8&quot; target=_blank&gt;&lt;IMG border=0 src=&quot;http://img.search.daum-img.net/profilethumb/newthumb/pp_thumbnail/profilethumb/Gvz.jpg&quot; width=66 height=82&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD width=12&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=278&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width=&quot;100%&quot;&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH height=18 vAlign=top colSpan=2 align=left&gt;&lt;FONT style=&quot;FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px; FONT-WEIGHT: bold&quot;&gt;&lt;A style=&quot;COLOR: #333333 !important; TEXT-DECORATION: none !important&quot; href=&quot;http://search.daum.net/cgi-bin/nsp/search.cgi?q=%EB%A6%AC%EC%B0%A8%EB%93%9C%20%EB%B8%8C%EB%9E%9C%EC%8A%A8%20%28Richard%20Charles%20Nicholas%20Branson%29+%ED%95%B4%EC%99%B8%EA%B8%B0%EC%97%85%EC%9D%B8&quot; target=_blank&gt;리차드 브랜슨 (Richard Charles Nicholas Branson)&lt;/A&gt;&lt;/FONT&gt; &lt;FONT style=&quot;FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px; FONT-WEIGHT: normal&quot;&gt;/ 해외기업인&lt;/FONT&gt; &lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height=18 vAlign=top width=40 align=left&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px&quot;&gt;출생&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD height=18 vAlign=top align=left&gt;&lt;SPAN style=&quot;TEXT-OVERFLOW: ellipsis; DISPLAY: block; FLOAT: left; HEIGHT: 14px; OVERFLOW: hidden&quot;&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px&quot;&gt;1950년 7월 18일&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height=18 vAlign=top width=40 align=left&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px&quot;&gt;신체&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD height=18 vAlign=top align=left&gt;&lt;SPAN style=&quot;TEXT-OVERFLOW: ellipsis; DISPLAY: block; FLOAT: left; HEIGHT: 14px; OVERFLOW: hidden&quot;&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px&quot;&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height=18 vAlign=top width=40 align=left&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #999999; FONT-SIZE: 12px&quot;&gt;팬카페&lt;/FONT&gt; &lt;/TD&gt;
&lt;TD height=18 vAlign=top align=left&gt;&lt;SPAN style=&quot;TEXT-OVERFLOW: ellipsis; DISPLAY: block; FLOAT: left; HEIGHT: 14px; OVERFLOW: hidden&quot;&gt;&lt;FONT style=&quot;LINE-HEIGHT: 1.4; FONT-FAMILY: 굴림,gulim,sans-serif; COLOR: #333333; FONT-SIZE: 12px&quot;&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top colSpan=2 align=left&gt;&lt;A style=&quot;PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 5px; FONT-FAMILY: 돋움,dotum,verdana; BACKGROUND: url(http://deco.daum-img.net/contents/info/ic_more.gif) no-repeat 100% 3px; COLOR: #999999 !important; FONT-SIZE: 11px; TEXT-DECORATION: underline; PADDING-TOP: 0px&quot; href=&quot;http://search.daum.net/cgi-bin/nsp/search.cgi?q=%EB%A6%AC%EC%B0%A8%EB%93%9C%20%EB%B8%8C%EB%9E%9C%EC%8A%A8%20%28Richard%20Charles%20Nicholas%20Branson%29+%ED%95%B4%EC%99%B8%EA%B8%B0%EC%97%85%EC%9D%B8&quot; target=_blank&gt;상세보기&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
이 분은 자수성가형 기업인이었다.&lt;br /&gt;
&lt;br /&gt;난독증이 있어 책을 읽기가 힘들었다고 한다.&lt;br /&gt;
하지만 저널리스트가 꼭 되고싶어 &lt;br /&gt;
열다섯살에 &quot;스튜던트&quot; 라는 일종의 학교 월간지 사업을 시작했다.&lt;br /&gt;
두명이서 사업을 시작했는데&lt;br /&gt;
은행업무를 전혀&amp;nbsp;몰라 깡통에 돈을 수금하고 꺼내쓰는 형태의 학생다운 사업을 운영했다.&lt;br /&gt;
&lt;br /&gt;국회의원등의 유명인들에게 편지를 돌려 기사투고를 부탁했다고 한다.&lt;br /&gt;
요즘 세상이라면 누가 코흘리개들이나 읽을법한 동네 월간지에 기사를 투고할까 하지만은...&lt;br /&gt;
당시는 편지와 전화로 소통하는 세상이라 가능했었던 것 같다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/16243A0C4A80391FAE953A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/16243A0C4A80391FAE953A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;12090-2-16835.jpg&quot; height=&quot;175&quot; width=&quot;250&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 사람을 보면 콜럼버스의 달걀이 기억난다.&lt;br /&gt;
누구나 세울수 있지만 정작 해보지않는 것.&lt;br /&gt;
브랜슨은 도전했고 성공을 일궈내었다.&lt;br /&gt;
&lt;br /&gt;리차드 브랜슨이 말하는 바는 간단하다.&lt;br /&gt;
&lt;STRONG&gt;하고싶은게 있으면 일단 도전 해보라는 것이다.&lt;br /&gt;
그게 죽이됐든 밥이됐든 뭐라도 배우지않겠느냐고...&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;참 쉬운 말이다.&lt;br /&gt;
대부분의 사람들은&amp;nbsp;익숙하고 편안한 것만을 좇는 법이다.&amp;nbsp;&lt;br /&gt;
그런 것만을 좇다보면 새로이 배우는 것이 없다. 늘 하던 일만 하게되기때문에...&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/1701700F4A8039DB546819&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1701700F4A8039DB546819&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;20060307130913-1141704553.jpg&quot; height=&quot;352&quot; width=&quot;240&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그는 늘 새로운 이상을 추구했고 대단히 큰 모험을 즐겼다.&lt;br /&gt;
그 모험이 실패하면 큰 재산을 날릴 수도 있거니와 생명을 잃을 수도 있다.&lt;br /&gt;
&lt;br /&gt;하지만 무모해보이는 모험에도 그만의 철학이 있다.&lt;br /&gt;
&lt;STRONG&gt;&quot;내가 통제할 수 없는 위험은 피한다&quot;&lt;br /&gt;
&lt;/STRONG&gt;&lt;br /&gt;
살다보면 도박에 가까운 우연? 뭐 그런 것에 의존해야하는 일이 종종 있다.&lt;br /&gt;
브랜슨은 이것은 대단히 위험천만한 것이며 피해야 한다고 했다.&lt;br /&gt;
&lt;br /&gt;그는 자신이 어느정도의 통제력을 가질 수 있는 큰 모험을 즐겼던 것이다.&lt;br /&gt;
그것이 사업이 됐든 놀이가 됐든.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/184D480D4A803AB646F7BE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/184D480D4A803AB646F7BE&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;83904_0_19617500.jpg&quot; height=&quot;347&quot; width=&quot;520&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
나는 이 포스트에서 버진그룹이 어떻게 성장했고 어떻게 커갔는가를 말하고싶지 않다.&lt;br /&gt;
리처드 브랜슨이라는 인물로부터 무엇을 배워야하는 가를 말하고 싶다.&lt;br /&gt;
&lt;br /&gt;그가 말하길, 살다보면 다양한 경쟁을 겪게되는데&lt;br /&gt;
경쟁을 하다보면 상대방의 비열한 술책에 당해 패배를 하는 경우도 있다고 한다.&lt;br /&gt;
&lt;br /&gt;그는 이 비열한 술책을 경계하라고 한다.&lt;br /&gt;
&lt;STRONG&gt;&quot;비열한 술책에는 크게 불평하라&quot;&lt;br /&gt;
&lt;/STRONG&gt;많은 경영진들이 우려했던 버진 항공 사업을 성공적으로 일궈내었을 때&lt;br /&gt;
그는 영국의 토착 항공사인 브리티쉬 항공으로부터 비열한 술수를 당했다.&lt;br /&gt;
벤쳐 항공 사업을 했던 선임자의 경험을&amp;nbsp;보고&amp;nbsp;그 술책을 현명하게 극복해냈던 사례가 있다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/133027264A803C6D9873A1&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/133027264A803C6D9873A1&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2007081000609_2.jpg&quot; height=&quot;161&quot; width=&quot;240&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그의 사업철학은 돈을 벌기위함이 아니라...&lt;br /&gt;
&lt;STRONG&gt;우선적으로 자신이 재미있는 일을 하는 것이라고 한다.&lt;br /&gt;
재미있는 일을 열성적으로 하다보면 돈은 그냥 따라오는 것이라고 한다.&lt;br /&gt;
&lt;/STRONG&gt;&lt;br /&gt;
그는 사업 자체를 즐겼던 사람이다.&lt;br /&gt;
그리고 내 짧은 생각으로 판단해서는 아마 이 분은 운도 대단히 좋았던 사람이 아닐까 싶다.&lt;br /&gt;
책을 읽어보면 그가 억새게 운좋은 사나이인 것도 알 수 있다 ^^&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/164E2B244A803D6396A7FD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/164E2B244A803D6396A7FD&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;RichardBransonVirgin.jpg&quot; height=&quot;241&quot; width=&quot;399&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;STRONG&gt;법을 어기지 말라. 공정하게 거래하라. 하지만 성공하는 것을 목표로 해라.&lt;/STRONG&gt;&lt;br /&gt;
법의 테두리를 벗어나 조그마한 이익을 챙기는 것은 장기적으로 결국은 양날의 칼이되어 돌아온다는 것이다.&lt;br /&gt;
책에서는 세관의 세금을 피하기위해 일종의 밀수 행위를 하다가 적발된 사례가 소개된다.&lt;br /&gt;
정직한 기업은 결국은 사람들이 알아준다는 것이다.&lt;br /&gt;
&lt;br /&gt;하지만 이것도 운이 따라줘야하지 않을까...&lt;br /&gt;
가끔은 정직만으로 세상을 살아갈 수 없을 때도 있는 것 같다.&lt;br /&gt;
삼성의 사례도...&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/113650274A803E4A870983&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/113650274A803E4A870983&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;02115600012007100484_1.jpg&quot; height=&quot;307&quot; width=&quot;465&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;STRONG&gt;돈은 쓰기위해 존재하는 것이다.&lt;/STRONG&gt;&lt;br /&gt;
그는 새로운 사업을 개척하려고 할 때 일부 경영진들이 우려하는 것을 싫어했다.&lt;br /&gt;
이제는 편하게&amp;nbsp;먹고살만 하니까 위험한 도전은 하지말자.&lt;br /&gt;
리처드 브랜슨은 이것을&amp;nbsp;경계했던 것이다.&lt;br /&gt;
&lt;br /&gt;그는 돈을 창고에 쌓아두기 보다는 번 돈으로 새로운 무언가를 또 하려고 했던 사람이다.&lt;br /&gt;
&lt;STRONG&gt;끊임없는 목표 설계와 전진&lt;/STRONG&gt;&lt;br /&gt;
이 분은&amp;nbsp;생각부터가 성공이라는 단단한 뿌리를 가졌던 사람이었던 것 같다 ^^&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1831A7254A803F50BA034A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1831A7254A803F50BA034A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;jearth1.gif&quot; height=&quot;359&quot; width=&quot;336&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
리처드 브랜슨은&amp;nbsp;기업의 사회적 책임에 대해서도 좋은 생각을 가진 사람이었다.&lt;br /&gt;
그에 대해&amp;nbsp;정치적 성향을 따진다면 진보에 가까운 인물이 아닐까 생각해본다.&lt;br /&gt;
그는 사회문제와 환경문제에 관심이 많았다.&lt;br /&gt;
&lt;br /&gt;그는 자신이 가진 돈으로 사람들을 돕고자 했고 환경보전에도 큰 노력을 기울이고 있는 사람이다.&lt;br /&gt;
책에는 가이아 이론이 등장하는데&lt;br /&gt;
이것은 지구는 하나의 거대한 유기적인 생명체로서&lt;br /&gt;
지구는&amp;nbsp;스스로 치유기능을 가지고있지만&lt;br /&gt;
지구가 감당할 수 없는&amp;nbsp;큰 오염은 지구 자체를 복구불능으로 만들 수 있다고 한다.&lt;br /&gt;
&lt;br /&gt;끝 !&lt;br /&gt;
책을 읽고 내가 느낀 바를 이곳에 정리해둔다.&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-497-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>내가 읽은 책들</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/497</guid>
			<comments>http://thx4alice.tistory.com/497#entry497comment</comments>
			<pubDate>Tue, 11 Aug 2009 00:44:39 +0900</pubDate>
		</item>
		<item>
			<title>[책] 수학자, 컴퓨터를 만들다 - 마틴 데이비스</title>
			<link>http://thx4alice.tistory.com/468</link>
			<description>&lt;P&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/14661C1E4A26547DA9E0C3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/14661C1E4A26547DA9E0C3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2035300020-x30.gif&quot; height=&quot;215&quot; width=&quot;145&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;요즘 바쁘다는 핑계로 블로깅이 뜸하네요 ㅠ&lt;br /&gt;
어제 하루 날잡고 수학자, 컴퓨터를 만들다 라는 책을 읽었습니다.&lt;br /&gt;
&lt;br /&gt;라이프니츠, 부울, 프레게, 칸토어, 힐베르트, 괴델, 튜링&lt;br /&gt;
요 일곱 사람들의 이야기입니다.&lt;br /&gt;
&lt;br /&gt;이 사람들은 모두 유명한 수학자들입니다.&lt;br /&gt;
책을 읽어보니 현대의 컴퓨터를 만드는데 이론적으로 큰 기여를 했더군요.&lt;br /&gt;
&lt;br /&gt;머리아픈 내용이 많아서 속독하고 넘긴 부분이 많은데 -ㅁ-&lt;br /&gt;
중요한 부분만 한 번 정리를 해둘까 합니다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/1133641C4A26551E05D351&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1133641C4A26551E05D351&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;633369691637321250_73b4beb3-9c90-43db-b5c2-245c57f472cf_jpg.jpg&quot; height=&quot;218&quot; width=&quot;191&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
라이프니츠는 이진법을 고안했습니다.&lt;br /&gt;
그는 아마도 이런 생각을 했던 것 같습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;라이프니츠&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;이 세상의 모든 숫자들을 표현할 수 있는 효과적인 방법이 없을까?&lt;br /&gt;
0과 1만 가지고 세상 모든 숫자들을 표현할 수 있을 것이다 !&lt;br /&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1408191B4A2656F04F1056&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1408191B4A2656F04F1056&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2.jpg&quot; height=&quot;200&quot; width=&quot;255&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
세상 모든 사물을 0과 1로써 표현하는 것도 가능하지 않을까요?&lt;br /&gt;
울티마 온라인, 리니지, 와우 같은 온라인 게임은 모두 0과1로 만들어진 세상이지요.&lt;br /&gt;
세컨드 라이프도 마찬가지구요.&lt;br /&gt;
이곳은 컴퓨터안의 세계이므로 모든 사물이 0과 1로써 표현가능하니까&lt;br /&gt;
라이프니츠의 생각은 과연 옳았다는 생각이 들더군요.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/205C561E4A26574027B4F0&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/205C561E4A26574027B4F0&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;180px-George_Boole.jpg&quot; height=&quot;176&quot; width=&quot;180&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
부울도 현대의 컴퓨터 구조를 만드는데 한 몫 했습니다.&lt;br /&gt;
부울대수라고 전자계산기구조에서 사용되는 AND, OR 게이트를 생각해냈지요.&lt;br /&gt;
명제를 일종의 논리적인 기호를 사용하여 표현해냈습니다.&lt;br /&gt;
&lt;br /&gt;모든 사람은 죽는다&lt;br /&gt;
소크라테스는 사람이다 &lt;br /&gt;
그러므로 소크라테스는 죽는다&lt;br /&gt;
&lt;br /&gt;사람은 죽는다&lt;br /&gt;
소크라테스틑 사람이다&lt;br /&gt;
소크라테스틑 죽는다&lt;br /&gt;
&lt;br /&gt;사람 : A&lt;br /&gt;
죽는다 : B&lt;br /&gt;
소크라테스 : C&lt;br /&gt;
&lt;br /&gt;A = B&lt;br /&gt;
C = A&lt;br /&gt;
C = B&lt;br /&gt;
&lt;br /&gt;여기서 발전하여 아래와 같은 개념이 탄생했습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;부울&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;X 이면 Y 이다.&lt;br /&gt;
&lt;br /&gt;이것은 다시 말해서, X=1 이면 Y=1 이다.&lt;br /&gt;
이것을 최종적으로 다시 표현하면, X(1-Y)=0 이다.&lt;br /&gt;
&lt;br /&gt;마지막 식을 생각해 봅시다.&lt;br /&gt;
X=1 이면 1-Y=0 이 되고 여기서 Y=1 이 됩니다. 정확하지요.&lt;br /&gt;
&lt;br /&gt;X(1-Y)=0 이라는 말은&lt;br /&gt;
X 이면서 Y가 아닌것(1-Y)은 거짓이다는 말과 같습니다.&lt;br /&gt;
&lt;br /&gt;이 말은 XY=1 과도 같지요. X=1이면 Y=1이 됩니다.&lt;br /&gt;
&lt;br /&gt;정말 명쾌한 논리가 아닐 수 없습니다.&lt;br /&gt;
부울은 명제를 논리적인 기호만을 사용하여 표현하는 것에 성공했습니다. (&lt;U&gt;부울대수&lt;/U&gt;)&lt;br /&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1551601E4A265AE5413836&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1551601E4A265AE5413836&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2009-06-03_201327.png&quot; height=&quot;150&quot; width=&quot;489&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/183AC91B4A265BFA018B44&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/183AC91B4A265BFA018B44&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ifregef001p1.jpg&quot; height=&quot;300&quot; width=&quot;222&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
프레게는 기호논리학을 만들어냈습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;프레게&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1926A91D4A265DFB104700&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1926A91D4A265DFB104700&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2009-06-03_202639.png&quot; height=&quot;82&quot; width=&quot;144&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
위에서부터 순서대로...&lt;br /&gt;
&lt;br /&gt;모든 사람은 어떤 사람을 사랑한다.&lt;br /&gt;
어떤 사람은 모든 사람을 사랑한다.&lt;br /&gt;
모든 사람은 어떤 사람한테 사랑받는다.&lt;br /&gt;
어떤 사람은 모든 사람한테 사랑받는다.&lt;br /&gt;
&lt;br /&gt;이런 것이 &lt;U&gt;기호논리학&lt;/U&gt; 입니다.&lt;br /&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
부울이 수학에 기초한 논리표현법을 생각해냈다면&lt;br /&gt;
프레게는 자신만의 기호를 사용하여 논리를 좀 더 체계적으로 표현하는 방법을 만들어냈습니다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1858E81E4A265ED72E7D18&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1858E81E4A265ED72E7D18&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2009-06-03_203019.png&quot; height=&quot;280&quot; width=&quot;346&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
말씀드린 바와 같이 기호논리학입니다.&lt;br /&gt;
프레게가 고안해낸 기호를 사용한 논리학이라하여 기호논리학이라고 하는 것 같습니다.&lt;br /&gt;
제가 배운 기호논리학은 조금 표현법은 다른데, 의미는 프레게가 고안한 것과 똑같은 것 같네요.&lt;br /&gt;
quantifer 를 사용하여 수량까지도 표현이 가능한데 놀라운 사실은...&lt;br /&gt;
구체적인 수량까지도 표현이 가능합니다. (1개이냐 2개이냐)&lt;br /&gt;
대신 문장은 길어진다는 ~~ ;ㅂ; (그래도 기호를 사용하여 논리적인 수량표현이 가능하다는 사실은 대단한 발견이지요)&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/11796A1E4A265F71169C46&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/11796A1E4A265F71169C46&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2009-06-03_203252.png&quot; height=&quot;183&quot; width=&quot;135&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
수학자 칸토어입니다.&lt;br /&gt;
그 유명한 대각선 법칙을 만들어 냈습니다.&lt;br /&gt;
대각선 댄스 ;-0&lt;br /&gt;
유명하다고는 하지만 이 책을 읽기전에 대각선 법칙을 몰라서 정말 어려웠습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;칸토어&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;대각선정리를 최대한 쉽게 적어보겠습니다. 인터넷 찾아보니 복잡해보이는듯한 공식의 쓰나미가 ;ㅂ;&lt;br /&gt;
&lt;br /&gt;1,2,3,4 라는 숫자가 있다고 합시다.&lt;br /&gt;
이것들로 어떤 숫자들의 조합을 만드는데 이 조합 하나 하나에 이름을 붙일 것입니다.&lt;br /&gt;
&lt;br /&gt;1 : 1, 2&lt;br /&gt;
2 : 2, 4&lt;br /&gt;
3 : 1, 3&lt;br /&gt;
4 : 2, 3&lt;br /&gt;
&lt;br /&gt;규칙 없습니다. 막 붙였답니다 :-)&lt;br /&gt;
이것을 다시 정리해 보겠습니다.&lt;br /&gt;
&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Times New Roman&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; 2&amp;nbsp; 3&amp;nbsp; 4&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;/STRONG&gt;&lt;SPAN style=&quot;FONT-FAMILY: Times New Roman&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Courier New&quot;&gt;&lt;STRONG&gt;1 : &amp;nbsp;&lt;FONT color=#e31600&gt;O&lt;/FONT&gt;&amp;nbsp; O&amp;nbsp; X&amp;nbsp; X&lt;br /&gt;
2 :&amp;nbsp; X&amp;nbsp; &lt;FONT color=#e31600&gt;O&lt;/FONT&gt;&amp;nbsp; X&amp;nbsp; O&lt;br /&gt;
3 :&amp;nbsp; O&amp;nbsp; X&amp;nbsp; &lt;FONT color=#e31600&gt;O&lt;/FONT&gt;&amp;nbsp; X&lt;br /&gt;
4 :&amp;nbsp; X &amp;nbsp;O&amp;nbsp; O&amp;nbsp; &lt;FONT color=#e31600&gt;X&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;빨갛게 칠해진 것을 순서대로 놓아보면 O O O X 인데 이것은 1 2 3 4 = O O O X 라는 말이죠.&lt;br /&gt;
이것을 뒤집어 보겠습니다.&lt;br /&gt;
1 2 3 4 = X X X O&lt;br /&gt;
&lt;br /&gt;그러면 새로운 숫자의 조합이 탄생합니다. 이것이 대각선 법칙입니다.&lt;br /&gt;
? : 4&lt;br /&gt;
&lt;br /&gt;라는게 되겠네요. 합쳐봅시다.&lt;br /&gt;
&lt;br /&gt;1 : 1, 2&lt;br /&gt;
2 : 2, 4&lt;br /&gt;
3 : 1, 3&lt;br /&gt;
4 : 2, 3&lt;br /&gt;
? : 4&lt;br /&gt;
&lt;br /&gt;하지만 이 새로운 숫자의 조합은 이름을 붙일 수 없습니다. &lt;br /&gt;
왜냐하면 1, 2, 3, 4 는 다 사용해버렸거든요 ;ㅁ;&lt;br /&gt;
&lt;br /&gt;이것이 무슨 의미이냐 하는 것은 상당히 이해하기 어렵더군요.&lt;br /&gt;
연속체 가설이라는게 등장하는데... 사실 한 번 대충 읽어서는 이해가 안됐습니다.&lt;br /&gt;
바로 아래에 제가 자세하게 정리한 부분이 있으니 더 읽어보시기 바랍니다. (자연수와 실수의 관계)&lt;br /&gt;
&lt;br /&gt;대각선법칙에서 칸토어가 말하고자 했던 것은&lt;br /&gt;
무한집합중에서도 더 큰 무한집합이 있다는 사실이었습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
저는 칸토어가 컴퓨터의 발명에 기여했던 것은 무엇일까 생각해보았습니다.&lt;br /&gt;
위의 대각선법칙의 이름 붙이기가 관련되어있지 않을까 생각됩니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;칸토어&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;칸토어는 자연수와 분수들을 일대일 대응시키는데 성공했습니다.&lt;br /&gt;
단순하게 생각하면 분수가 더 많기때문에 일대일 대응이 힘들 것 같은데 말이죠.&lt;br /&gt;
하지만 자연수와 분수 모두 무한집합이기 때문에 이것이 가능합니다.&lt;br /&gt;
&lt;br /&gt;1/1 은 1 에 매핑될 수 있습니다.&lt;br /&gt;
&lt;br /&gt;1/2 는 분자와 분모의 합이 1+2 = 3 이죠.&lt;br /&gt;
분자와 분모의 합이 3 이 되는 또다른 분수는 2/1 이 있습니다.&lt;br /&gt;
그래서...&lt;br /&gt;
1/2 는 2 에 매핑될 수 있습니다.&lt;br /&gt;
2/1 은 3 에 매핑될 수 있습니다.&lt;br /&gt;
&lt;br /&gt;1/3 은 분자와 분모의 합이 1+3 = 4 입니다.&lt;br /&gt;
분자와 분모의 합이 4 가 되는 또다른 분수는 2/2, 3/1 이 있습니다.&lt;br /&gt;
그래서...&lt;br /&gt;
1/3 -&amp;gt; 4&lt;br /&gt;
2/2 -&amp;gt; 5&lt;br /&gt;
3/1 -&amp;gt; 6&lt;br /&gt;
&lt;br /&gt;머 이런식으로 모든 분수들을 매핑시킬 수 있답니다.&lt;br /&gt;
&lt;br /&gt;별거 아닌 것 같지만 이것은 대단한 발견입니다.&lt;br /&gt;
컴퓨터는 매우 제한적인 장치입니다. 0과 1밖에 모르는 하드웨어지요.&lt;br /&gt;
라이프니츠는 0과1로 모든 숫자를 표현하는데 성공했고...(이진법)&lt;br /&gt;
칸토어는 자연수를 다른 무한집합에 매핑하는데 성공하였습니다.&lt;br /&gt;
&lt;br /&gt;하지만 더 대단한 발견은...?&lt;br /&gt;
자연수는 분수와 일대일 대응이 가능하지만 (분수가 더 커 보임에도)&lt;br /&gt;
&lt;STRONG&gt;지연수로는 실수와 일대일 대응이 불가능하다는 사실입니다.&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;1/3 을 실수로 표현하면 0.333333333333333... 이 되려나요?&lt;br /&gt;
실수에는 파이라고 하는 무리수도 있구요. 3.141592...&lt;br /&gt;
&lt;br /&gt;실수는 자연수에 일대일 대응할 수 없다?&lt;br /&gt;
그 이유를 위에서 설명한 대각선법칙에서 찾아야할 듯 합니다.&lt;br /&gt;
이상의 내용은 제가 하루만에 이해하기는 벅차서 대충 읽고 넘겼답니다 ㅠㅂㅠ&lt;br /&gt;
대충 이해는 하겠는데 설명은 못하겠네요 허허 ㅠㅂㅜ&lt;br /&gt;
&lt;br /&gt;칸토어의 대각선 법칙에 대한 제 생각이 맞다면...&lt;br /&gt;
지금 우리가 사용하는 컴퓨터에는 &lt;br /&gt;
위에서 설명한 이유 때문에 실수부분에 오차가 생기는 것이 아닐까 조심스레 생각해봅니다.&lt;br /&gt;
&lt;br /&gt;라이프니츠는 모든 숫자를 이진법으로 표현하였고&lt;br /&gt;
칸토어의 자연수 이름붙이기 방법을 사용하면&lt;br /&gt;
이진법으로 분수들을 매핑하는 방법을 생각할 수 있습니다.&lt;br /&gt;
하지만 자연수와 실수사이에는 일대일 대응관계를 만들 수 없기때문에&lt;br /&gt;
현대의 컴퓨터에는 실수 계산시에 오차가 생기는 것이 아닐까요?&lt;br /&gt;
&lt;br /&gt;저는 그래서 프로그래밍할 때 float 이나 double 형은 왠만하면 사용하지 않습니다.&lt;br /&gt;
복잡한 계산을 마치고나면 어디서 오차가 날 지 감히 생각도 할 수 없거든요.&lt;br /&gt;
특정 프로시저를 작성하는데 실수를 꼭 사용해야한다면 int 로 했다가 float, double 로 바꾸는 방법을 사용합니다.&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/117E111D4A2668AB8555A6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/117E111D4A2668AB8555A6&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;633373021937971250_63ff6529-a0c4-4331-8093-c2ecf59908d5_jpg_large.jpg&quot; height=&quot;217&quot; width=&quot;150&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 분은 수학자 힐베르트입니다.&lt;br /&gt;
너무 졸려서 일곱명의 수학자 챕터중에 가장 대충 읽은 분입니다 --;; 죄송합니다 힐베르트씨 ㅠ0ㅠ&lt;br /&gt;
&lt;br /&gt;제 생각에는 힐베르트, 괴델, 튜링이 현대의 컴파일러와 인터프리터를 고안해냈다고 생각됩니다.&lt;br /&gt;
컴파일러와 인터프리터의 차이점은 네이버 친구를 찾아보시면 좋을듯합니다 :-)&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;힐베르트&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;힐베르트는 메타수학을 만든 사람입니다.&lt;br /&gt;
메타수학이 무엇이냐? 공통수학 같은건가?...;ㅂ;&lt;br /&gt;
제기 대충 읽어본 챕터를 생각해보면 메타수학은 수학과 논리학을 결합시킨 것 같습니다.&lt;br /&gt;
&lt;br /&gt;1+1 = 2 라는게 있습니다. 이건 우리가 쉽게 이해할 수 있죠.&lt;br /&gt;
&lt;br /&gt;1 -&amp;gt; 999&lt;br /&gt;
+ -&amp;gt; 505&lt;br /&gt;
= -&amp;gt; 698&lt;br /&gt;
2 -&amp;gt; 998&lt;br /&gt;
&lt;br /&gt;이라고 합시다.&lt;br /&gt;
그러면 1+1 = 2 는 아래와 같이 표현할 수도 있겠습니다.&lt;br /&gt;
&lt;br /&gt;999505999698998&lt;br /&gt;
&lt;br /&gt;:-0 굉장히 복잡해졌네요.&lt;br /&gt;
하지만 이것 역시 굉장한 발견입니다.&lt;br /&gt;
어떤 부호화된 수식을 사용하여 새로운 수학체계를 만들 수 있다는 사실을 알 수 있지요.&lt;br /&gt;
&lt;br /&gt;컴퓨터는 0과 1밖에 모릅니다.&lt;br /&gt;
현대의 컴퓨터는 0과 1만 가지고서 온갖 복잡한 수학계산을 척척해냅니다.&lt;br /&gt;
&lt;br /&gt;0과1만 사용하여 수식을 만들어내면 우리가 봐서는 당최 알 수 없는 코드지만...&lt;br /&gt;
컴퓨터는 단번에 이해할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;그 출발이 바로 힐베르트였다는 사실을 생각해야할 것 같군요 :-)&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1974CB1B4A266DA36FAA6A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1974CB1B4A266DA36FAA6A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2_beaksoo82.jpg&quot; height=&quot;309&quot; width=&quot;550&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
제가 요즘 하고있는 위쳐라는 게임의 스크린샷입니다. 폴란드에서 5년동안 만든 대작 RPG 입니다.&lt;br /&gt;
이렇게 화려한 게임 화면은 온갖 복잡한 수학계산을 통해 만들어집니다.&lt;br /&gt;
하지만 그 시작에는 0과1밖에 없다는 사실은... 참으로 놀랍죠.&lt;br /&gt;
&lt;br /&gt;힐베르트의 생각과 비슷한 개념을 또 알고싶으신 분들은&lt;br /&gt;
갈로이스 필드와 중국인 나머지 정리를 네이버 친구에서 찾아보시기 바랍니다. (둘 다 조금은 어려운 개념입니다)&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/1758081E4A266E746F5C0C&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1758081E4A266E746F5C0C&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Einstein_Godel_550-mbuna.jpg&quot; height=&quot;391&quot; width=&quot;550&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이제 수학자 괴델의 이야기입니다.&lt;br /&gt;
괴델은 아인슈타인과 절친한 친구 사이였다고 하는군요.&lt;br /&gt;
두 사람 모두 자신의 분야에서 천재성을 나타낸 학자이기도 하구요.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;괴델&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;괴델은 힐베르트 프로그램의 오류를 짚어냈습니다.&lt;br /&gt;
쉽게 설명해보겠습니다. (하지만 제가 이해한게 맞는지는 모르겠습니다)&lt;br /&gt;
&lt;br /&gt;A 라고 하는 어떤 수학적인 영역이 있습니다.&lt;br /&gt;
A 영역안에서는 이 공간자체에 모순이 없다면...&lt;br /&gt;
A 내에서는 모순된 결론은 절대로 나오지 않도록 만들어져 있습니다.&lt;br /&gt;
&lt;br /&gt;이것이 힐베르트 프로그램이었습니다. &lt;br /&gt;
하지만 괴델은...&lt;br /&gt;
&lt;br /&gt;&quot;X 라는 명제는 A 영역에서는 증명불가능하다&quot;&lt;br /&gt;
&lt;br /&gt;라고 말했습니다.&lt;br /&gt;
이것은 굉장히 어려운 말입니다.&lt;br /&gt;
&lt;br /&gt;힐베르트는 A 영역 자체에 모순이 없다면&lt;br /&gt;
참이 되는 결론을 만들어낼 수 있다고 생각했습니다.&lt;br /&gt;
&lt;br /&gt;하지만 A 영역 내에서 A 영역 자체에 모순이 없다는 사실을 증명하지는 못한다고 하더군요.&lt;br /&gt;
이것은 괴델이 증명한 것인데, 책에서 자세한 내용은 언급되지 않았습니다. (어려운 내용이니 패스~)&lt;br /&gt;
&lt;br /&gt;만약 A 영역에 모순이 없다면 X 는 참이다&lt;br /&gt;
하지만 A 영역내부에서는 X 가 참이라는 것을 절대로 증명할 수 없습니다. (괴델의 증명)&lt;br /&gt;
&lt;br /&gt;따라서 괴델이 주장한 것은&lt;br /&gt;
&lt;br /&gt;A 영역 밖에서 보면 X 는 당연히 참이 된다.&lt;br /&gt;
하지만 A 영역 안에서는 절대로 X 가 참이 된다는 사실을 증명할 수는 없다.&lt;br /&gt;
&lt;br /&gt;이 개념은 뭐랄까요 너무 심드렁하고 심오하군요 ;ㅅ;&lt;br /&gt;
쉽게 이해할려면...&lt;br /&gt;
&lt;br /&gt;우리는 3차원에 살고있잖아요.&lt;br /&gt;
하지만 4차원 공간이 있다고 가정해본다면...&lt;br /&gt;
4차원에서는 당연한 말이 &lt;STRONG&gt;(4개의 서로다른 직선이 수직으로 만난다)&lt;/STRONG&gt;&lt;br /&gt;
3차원에서는 도저히 이해할 수 없는 말일 수 있다는 것이죠.&lt;br /&gt;
(* 4개의 서로다른 직선을 수직으로 만나게 해보세요. 절대 안됩니다)&lt;br /&gt;
&lt;br /&gt;그 이유는 우리가 3차원에 있기 때문입니다. 제가 이해한게 맞는지는 모르겠습니다.&lt;br /&gt;
&lt;br /&gt;어쨌거나 괴델의 이 발견도 대단한 것입니다.&lt;br /&gt;
결정불가능한 명제도 있다는 말이거든요 :-)&lt;br /&gt;
&lt;br /&gt;괴델의 발견이 왜 대단한 것이냐...?&lt;br /&gt;
&lt;br /&gt;딱 세 문장이면 이 물음에 답변을 할 수 있겠습니다.&lt;br /&gt;
&lt;br /&gt;세상에는 사람이 할 수 있는 일이 있다.&lt;br /&gt;
컴퓨터(기계, 로봇따위)가 할 수 있는 일도 있다.&lt;br /&gt;
하지만, 사람만 할 수 있는 일도 있다.&lt;br /&gt;
&lt;br /&gt;이것을 괴델이 증명한 것이죠.&lt;br /&gt;
괴델의 발견은 컴퓨터 인공지능, 컴파일러, 인터프리터를 구현하는데 기초적인 토대가 되었습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
아인슈타인의 절친한 친구 괴델... 천재가 왜 천재인지 이해가 될듯말듯 합니다 -ㅂ-;;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/1608C01B4A2676596C573A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1608C01B4A2676596C573A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2008012902011760739001_shu777.jpg&quot; height=&quot;446&quot; width=&quot;300&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
마지막 수학자 튜링입니다.&lt;br /&gt;
전 일곱수학자들중에서 튜링을 가장 좋아하는데...&lt;br /&gt;
튜링이 제안한 튜링 머신이 지금의 컴퓨터 프로그래밍을 실제로 구현한 것이기 때문입니다.&lt;br /&gt;
&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px solid; BORDER-LEFT: #f3c534 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px solid; BORDER-RIGHT: #f3c534 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;튜링&lt;/STRONG&gt;&lt;br /&gt;
&lt;br /&gt;튜링은 제가 위에서 설명한 다른 수학자들이 만든 이론적 토대를 기초로하여&lt;br /&gt;
튜링머신을 만들었습니다.&lt;br /&gt;
&lt;br /&gt;튜링머신에 대해 간단히 설명해보겠습니다.&lt;br /&gt;
&lt;br /&gt;94383 이라는 숫자가 있고 이것이 홀수인지 판별하는 튜링머신입니다.&lt;br /&gt;
끝없이 긴 테이프가 있고 이 테이프에 94383이 기록되어 튜링머신으로 들어갑니다.&lt;br /&gt;
&lt;br /&gt;튜링머신은 &quot;시작&quot; 이라는 상태를 가지고 출발합니다.&lt;br /&gt;
처음에 튜링머신은 9를 봅니다.&lt;br /&gt;
이것이 홀수이기에 튜링머신은 상태를 &quot;홀수&quot; 로 바꿉니다.&lt;br /&gt;
다음에 튜링머신은 4를 봅니다. (다음 테이프)&lt;br /&gt;
이것이 짝수이기에 튜링머신은 상태를 &quot;짝수&quot; 로 바꿉니다.&lt;br /&gt;
다음에 튜링머신은 3을 봅니다. (다음 테이프)&lt;br /&gt;
이것이 홀수이기에 튜링머신은 상태를 &quot;홀수&quot; 로 바꿉니다.&lt;br /&gt;
다음에 튜링머신은 8을 봅니다. (다음 테이프)&lt;br /&gt;
이것이 짝수이기에 튜링머신은 상태를 &quot;짝수&quot; 로 바꿉니다.&lt;br /&gt;
다음에 튜링머신은 3을 봅니다. (다음 테이프)&lt;br /&gt;
이것이 홀수이기에 튜링머신은 상태를 &quot;홀수&quot; 로 바꿉니다.&lt;br /&gt;
다음에 튜링머신은 빈테이프를 봅니다. (다음 테이프)&lt;br /&gt;
테이프가 비어있기에 튜링머신은 계산이 끝난 것임을 알고&lt;br /&gt;
94383 에 이어지는 다음 빈 테이프에 마지막 상태가 &quot;홀수&quot; 였으므로 1을 기록합니다.&lt;br /&gt;
그리고 상태를 &quot;끝&quot; 으로 바꿉니다.&lt;br /&gt;
&lt;br /&gt;여기서는 테이프가 단방향으로 움직였는데 양방향으로 왔다갔다 하는 식의 조작도 가능합니다.&lt;br /&gt;
&lt;br /&gt;이것이 튜링머신의 기본입니다.&lt;br /&gt;
튜링머신을 제안한 튜링은 튜링머신으로 해결불가능한 문제도 있다는 사실도 증명했습니다.&lt;br /&gt;
조금 복잡하고 까다로운 관계로 여기서는 넘어가겠습니다 ^^&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;
진짜 튜링머신이 궁금한가요? 사용해보러 갑시다&lt;br /&gt;
↓ (실제 튜링머신의 동작원리를 자바애플릿 시뮬레이션으로 만들었습니다)&lt;br /&gt;
&lt;A href=&quot;http://ironphoenix.org/tril/tm/&quot; target=_blank&gt;http://ironphoenix.org/tril/tm/&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;후... 여기까지 일곱 수학자들이 만든 컴퓨터 이야기를 마치도록 하겠습니다 ^^&lt;br /&gt;
&lt;br /&gt;일곱 수학자들중 대부분은 비참한 최후를 맞이했는데요.&lt;br /&gt;
궁금하신 분들은 일곱 수학자들의 이름으로 검색해보시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;튜링은 동성애자였고,&lt;br /&gt;
(당시 사회는 동성애자를 스파이나 공산주의자 보듯이 대했습니다)&lt;br /&gt;
가학적인 방법으로 정부에 의해 강제적으로 여성 호르몬 주사를 맞았습니다.&lt;br /&gt;
튜링의 신체는 여성처럼 변했고&lt;br /&gt;
심한 모멸감과 박탈감에 괴로워한 튜링은 가장 여성스러운 방법으로 세상을 떠나겠다며&lt;br /&gt;
음독자살했습니다.&lt;br /&gt;
&lt;br /&gt;괴델도 상당히 끔찍한 최후를 맞이했습니다 ㅠㅠ&lt;br /&gt;
괴델은 사망당시에 몸무게가 30Kg 도 되지않았다고 합니다. (사인은 아사, 굶어죽었습니다)&lt;br /&gt;
&lt;/P&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-468-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>내가 읽은 책들</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/468</guid>
			<comments>http://thx4alice.tistory.com/468#entry468comment</comments>
			<pubDate>Wed, 03 Jun 2009 22:31:28 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] 꽤 괜찮은 proc 한글 매뉴얼 (PDF)</title>
			<link>http://thx4alice.tistory.com/397</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://thx4alice.tistory.com/attachment/lk0.pdf&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/pdf.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; ProC_Guide.pdf&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs10.tistory.com/original/7/tistory/2008/11/01/18/24/490c206592e17&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs10.tistory.com/image/7/tistory/2008/11/01/18/24/490c206592e17&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;181&quot; width=&quot;618&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;이거 꽤 괜찮습니다 ㅋ&lt;br /&gt;무성의한 포스팅 죄송합니다 ^^a&lt;br /&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>proc</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/397</guid>
			<comments>http://thx4alice.tistory.com/397#entry397comment</comments>
			<pubDate>Sat, 01 Nov 2008 18:25:25 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] Pro*C 간단 매뉴얼</title>
			<link>http://thx4alice.tistory.com/396</link>
			<description>&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=ol-td-content&gt;Pro-C 간단 매뉴얼&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;---------------&lt;br /&gt;&amp;nbsp; 2000. 5. 23 &lt;br /&gt;---------------&lt;br /&gt;&lt;br /&gt;+++++++++++&lt;br /&gt;&amp;nbsp; ProC...&lt;br /&gt;+++++++++++&lt;br /&gt;&lt;br /&gt;-. 오라클 데이타베이스 내의 테이블에 존재하는 레코드들을 조회,수정 등의 데이타 처리를 하고, C프로그램으로 전환하기 위해 사용함.&lt;br /&gt;&lt;br /&gt;-. C와의 차이점 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 외형상의 차이 : 확장자가 .pc로 끝난다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 기본적으로 C문법을 따르며, C프로그램코드에 DB에 접속하여 레코드들을 처리하는 과정이 추가되어 작성된다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 즉, C로 작성된 프로그램코드에 오라클의 SQL의 DML or DDL명령문이 &#039;EXEC&#039;구문과 결합된 형태가 추가된 것임을 알 수 있다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 변수선언에서 C언어에서는 사용하지 않는, .arr과 .len이라는 변수가 컴파일된 C source코드에 생성되어 있는 것을 확인할 수 있다.&lt;br /&gt;&lt;br /&gt;-. 컴파일 과정&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. filename.pc -&amp;gt; filename.c -&amp;gt; filename.o -&amp;gt; filename*(생성된 오브젝트 파일을 링크해서 실행파일을 만드는 과정이다.)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;-. 실제 컴파일&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. makefile 위치 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ORACLE_HOME에 proc/에 보면 proc.mk파일이 있다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 이중에서 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) USERID = uinfo/mation&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; -. 오라클 DB에 접속할때 사용할 사용자 아이디와 비밀번호 지정&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) DEST = /home/elfsun/simple/bin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 컴파일후 실행파일을 복사할 디렉토리&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3) COMM_OBJ = /home/elfsun/simple/lib/lib1.o\&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /home/elfsun/simple/lib/lib2.o\&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /home/elfsun/simple/lib/lib3.o\&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /home/elfsun/simple/lib/lib4.o&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 컴파일시 참조로할 오브젝트 파일들.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \(백슬레시)로 구분함.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4) all : $(PROGRAM)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 프로그램의 이름을 지정할 수 있다. 이것은 프로그램의 소스 이름이 되며, 컴파일후 생성될 실행 파일의 이름이 되기도 한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5) install :&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 컴파일후 생성된 실행 파일을 복사해주는 작업을 수행&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6) clean : &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 컴파일 과정에서 생성되는 C파일과 오브젝트 파일들을 삭제할때 수행&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 이들중 수행할 각 명령들은 &#039;@&#039;바로 뒤에 작성해 줄 수 있다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [실제 컴파일 수행 - makefile이름이 proc.mk인 경우]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) 실제 컴파일을 하기 위해&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ make -f proc.mk&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) 컴파일한 실행 파일을 ~/bin/ 디렉토리에 복사하기 위해 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ make -f proc.mk install&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3) 컴파일 후 생성되는 오브젝트 파일과 c파일을 삭제하기 위해&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ make -f proc.mk clean&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;-. SQLCA관련 변수들...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. sqlca.sqlerr[0] : fetch를 사용하여 쿼리된 레코드의 건수를 리컨시켜 주는 역할을 하는 변수이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. sqlca.sqlwarn : 경고에 대한 정보들을 지니고 있는 변수이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. sqlca.sqlerrm.sqlerrmc : sql 명령수행중 에러가 발생했을때, 발생한 에러에 대한 내용과 오류 코드번호에 관한 정보를 출력시켜 준다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ---------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. sqlca.sqlcode값 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;내 용&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ---------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sql문이 정상적으로 수행&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1403 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;유일하게 양수값을 갖는 에러코드임.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 조건에 맞는 데이타가 하나도 없을때.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; -1405 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;조회된 값중 null값이 있을때&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ---------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-. host변수 선언&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 호스트변수는 데이타베이스에서 데이타 처리 결과를 저장하기 위해 사용되며, 응용 프로그램내에서는 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 변수로서의 역할을 한다. 따라서 호스트 변수를 선언할 때에는 데이타베이스 내에서 사용되는 칼럼의&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 데이타 타입과 그 크기를 고려하여 선언되어야 하며, 프리컴파일 과정을 통해 응용프로그램내에서도&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 사용가능한 형태이어야 한다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar username[16], userarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno, usrage;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [주의] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) 호스트 변수 선언시에 오라클 예약어를 사용하지 말것.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) 호스트 변수에서는 null처리를 해주지 않기 때문에 응용 프로그램에서 반드시 null처리를 해주어야 한다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 단, 호스트 변수가 숫자형인 경우에는 예외이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;-. DB접속&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 방법1&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CONNECT elfsun&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INDENTIFIED BY 1234;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 방법2&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar userid[8], passwd[8];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECALRE SECTION; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strncpy(userid.arr,&quot;elfsun&quot;,6);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strncpy(passwd.arr,&quot;1234&quot;,4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CONNECT :userid;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IDENTIFIED BY :passwd;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 일반적으로 방법2를 더 선호함.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 방법2를 쓸때에 변수명 앞에는 반드시 :를 붙여서 사용하고 있는 변수가 호스트 변수임을 명시해야 한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;-. CURSOR이용 : 쿼리문으로 조회되는 레코드가 한 건 이상일때 사용함.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 형식&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) EXEC SQL PREPARE statement FROM variable; &amp;nbsp;(쿼리하고자 하는 sql문장 정의)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) EXEC SQL DECLARE cursor_name CURSOR FOR statement; ( 사용할 커서 선언 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3) EXEC SQL OPEN cursor_name; &amp;nbsp; ( 선언한 커서 열기 ) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4) EXEC SQL FETCH cursor_name INTO :host_variable1, :host_variable2, :host_variable3, ....; &amp;nbsp;( 열어둔 커서 실행 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5) EXEC SQL CLOSE cursor_name; &amp;nbsp;( 열었던 커서 닫음 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) EXEC SQL PREPARE statement FROM variable; &amp;nbsp;(쿼리하고자 하는 sql문장 정의)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char SqlCmd[100]; &amp;nbsp; &amp;nbsp;(변수 SqlCmd를 선언)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(SqlCmd,0x00,sizeof(SqlCmd)); &amp;nbsp;( memset함수를 이용하여 초기화 작업함)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(SqlCmd,&quot;SELECT usrno, usrname, usrarea FROM forumlist&quot;); &amp;nbsp;(쿼리문을 SqlCmd에 대입함)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL PREPARE st_1 from :SqlCmd; (EXEC..문장을 이용하여 쿼리할 구조를 정의함)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) EXEC SQL DECLARE cursor_name CURSOR FOR statement; ( 사용할 커서 선언 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 형식1&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DECLARE cursor_name CURSOR FOR statement;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 형식2&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DECLARE cursor_name CURSOR FOR select 문장;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. cursor_name : 사용할 커서명&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DECLARE CUR_1 CURSOR FOR ST_1; (ST_1은 PREPARE에서 정의한것과 동일해야 함)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DECLARE CUR_1 CURSOR FOR select usrno, username, userarea From forumlist;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3) EXEC SQL OPEN cursor_name; &amp;nbsp; ( 선언한 커서 열기 ) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL OPEN CUR_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4) EXEC SQL FETCH cursor_name INTO :host_variable1, :host_variable2, :host_variable3, ....; &amp;nbsp;( 열어둔 커서 실행 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrname[16], usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ......&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL FETCH CUR_1 INTO :usrno, :usrname, :userarea;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 여기서 사용하는 조회된 칼럼들과 1대1로 대응되어야 한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 또한 사용될 호스트 변수들은 이미 이전에 선언이 되어 있어야만 사용이 가능하다. 칼럼의 데이타 타입과 크기가&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 일치해야함에도 주의.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5) EXEC SQL CLOSE cursor_name; &amp;nbsp;( 열었던 커서 닫음 )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CLOSE CUR_1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-. 오류 처리&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) whenever sqlerror 구문 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 형식)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ① EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ② EXEC SQL WHENEVER SQLERROR GOTO STOP;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ③ EXEC SQL WHENEVER SQLERROR GOTO CONTINUE;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 위 문장들은 SQL문장의 수행 결과 리턴되는 sqlca.sqlcode의 값이 음수로서, 에러를 발생시키는 경우, 더이상&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 프로그램을 진행시키지 않도록 stop_st루틴(①번에 해당)으로 분기하여 프로그램의 에러처리를 하도록 하는 문장임.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st대신 STOP나 CONTINUE를 쓰기도 한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 또한 실행시켰던 SQL문장들이 레코드의 값 자체의 변경과 관련이 있는 문장들, 즉 INSERT, DELETE, UPDATE와 같은&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQL문장들이었다면, &#039;EXEC SQL ROLLBACK WORK&#039;명령을 이용하여 그 트렌잭션을 취소시키는 과정을 추가해 주어야 한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) whenever not found 구문&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 형식)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER NOT FOUND GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER NOT FOUND STOP;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER NOT FOUND CONTINUE;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 위 문장들은 SQL문장 실행 결과 sqlca.sqlcode값이 1403으로 조건에 맞는 레코드 건수가 하나도 없는 경우이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;-. ProC내에서의 select 문장&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECALRE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrname[16], usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT usrno, usrname, usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INTO : usro, :usrname, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE usrno=5;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 고유번호 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d&quot;,usrno);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 이름 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d&quot;,usrname.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 이름(크기) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d BYTE&quot;, usrname.len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 거주지역 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%s&quot;, usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 거주지역(크기) =%d BYTE&quot;, usrarea.len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st :&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 에러메시지 =%s&quot;, sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. into 구문은 쿼리 결과에 만족하는 데이타를 검색해 와서 into구문 뒤의 변수에 각각 할당한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 호스트 변수명 앞에 (:)을 붙여 줌으로써 조회할 테이블이 칼럼명과 구분을 지어 준다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECALRE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrname[16], usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char SqlCmdp100];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(SqlCmd,0x00,sizeof(SqlCmd));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(Sqlcmd,&quot;select usrno, usrname, usrarea from forumlist&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL PREPARE ST_1 FROM :SqlCmd;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DECLARE CUR_1 FOR ST_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL OPEN CUR_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL FETCH SUR_1 INTO :usrno, :usrname, :usrarea;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sqlca.sqlcode &amp;lt; &amp;amp;&amp;amp; sqlca.sqlcode != -1405)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 에러메시지 = %s&quot;, sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 레코드 조회시 에러 발생!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CLOSE CUR_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exit();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } /* error */&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if(sqlca.sqlcode == 1403)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 에러메시지 =&quot;%s&quot;, sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&#039;\n 조건에 맞는 데이타가 없슴다!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CLOSE CUR_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exit();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } /* not exist */&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(sqlca.sqlcode ==0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 고유번호 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d&quot;,usrno);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 이름 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d&quot;,usrname.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 이름(크기) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%d BYTE&quot;,usrname.len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 거주지역 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=%s&quot;, usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 회원의 거주지역(크기) =%d BYTE&quot;, usrarea.len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL FETCH CUR_1 INTO :usrno, :usrname, :usrarea;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } /* while */&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 오라클 메시지 = %s&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 레코드가 성공적으로 조회되었습니다.&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL CLOSE CUR_1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;-. PROC속의 UPDATE문장&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar username[16], usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT usrno, username, usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :usrno, :usrname, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where usrno=3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 변경전 회원[%d]번의 거주지역 =[%s]&quot;,usrno,usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strcpy(userarea.arr,&quot;SEOUL&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; usrarea.len =5;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL UPDATE FORUMLIST&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SET usrarea =:usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE usrno =3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 오라클 메시지 =%s&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT usrno,usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INTO :usrno, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE usrno=3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 변경후의 회원 [%d]번의 거주지역 =[%s]&quot;, usrno.usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exit();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 에러발생 =%s&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrname[16], usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char SqlCmd[100];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL select usrno,username,usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :usrno, :usrname, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where usrno=3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 변경전의 [%d]번째 회원의 거주지역 =[%s]&quot;, usrno, usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(SqlCmd,0x00,sizeof(SqlCmd));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(SqlCmd,&quot;UPDATE FORUMLIST set usrarea=%s \ (한 문장이 끝나지 않았기 때문에 \(역슬래시)를 사용함)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where usrno=3&quot;,&quot;seoul&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL EXCUTE IMMEDIATE :SqlCmd;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL select usrno, usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :usrno, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where usrno=3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 변경후의 [%d]번째 회원의 거주지역 =[%s]&quot;, usrno,usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exit();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 에러 메시지 =%s&quot;, sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 위의 update문을 약간 수정하면&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(SqlCmd,&quot;update forumlist set userarea=%s where usrno=%d&quot;,&quot;seoul&quot;,3);로 해도 됨.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-. ProC속의 Insert문장&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrname[16], usrarea[10], usrkindcode[4];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno ;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot =0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; usrno=10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strncpy(usrname.arr,&quot;LEE-Y-S&quot;,Strlen(&quot;LEE-Y-S&quot;));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strncpy(usrarea.arr,&quot;seoul&quot;,strlen(&quot;seoul&quot;));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strncpy(usrkindcode,&quot;1004&quot;,strlen(&quot;1004&quot;));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL INSERT INTO FORUMLIST(usrno, usrname, usrarea, usrkindcode)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; values(:usrno, :usrname, :usrarea, :usrkindcode);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n insert success!!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 오라클 메시지 = %s&quot;, sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT COUNT(*)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INTO :TOT&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM FORUMLIST&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n forumlist 테이블에 존재하는 총 회원 수 =%d&quot;, tot);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT usrno, usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INTO :usrno, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM FORUMLIST&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE usrno=10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 추가된 회원 [%d]번의 거주지역 =[%s]&quot;, usrno, usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 오라클 에러=%d&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex1은 insert문장에 함께 기술해 줄 호스트 변수들을 선언해 주었지만...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2에서는 선언하지 않았다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2의 첨에 있는 usrarea는 그 다음에 수행할 select명령에 필요한 선언 문장이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLEARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char SqlCmd[100];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot=0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(SqlCmd,0x00,sizeof(SqlCmd));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(SqlCmd,&quot;insert into forumlist(usrno, usrname, usrarea, \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; usrkindcode) values(%d, %s, %s, %s)&quot;, \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10,&quot;lee-k-y&quot;,&quot;seoul&quot;,&quot;1004&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL EXECUTE IMMEDIATE :SqlCmd;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n Insert Success!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT count(*)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n forumlist 테이블에 존재하는 총 회원 수 = %d&quot;,tot);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT usrno, usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :usrno, :usrarea&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where usrno=10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\ 추가된 회원 [%d]번의 거주지역 =[%s]&quot;,usrarea.arr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n 오라클 에러 = %d&quot;, sqlca.sqlerrm,sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;-. Proc내에서의 delete문장.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex1) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIGN DECLRAE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot=0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL DELETE FORUMLIST WHERE USRNO=10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n Delete 문장 성공!!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT count(*)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into :tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from forumlist&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n forumlist 테이블에 존재하는 총 회원 수 =%d&quot;,tot);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n Oracle Error =%d&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. 어떠한 호스트 변수도 사용하지 않음.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex2) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL BEGIN DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; varchar usrarea[10];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int usrno;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL END DECLARE SECTION;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char SqlCmd[100];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int tot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot=0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(SqlCmd,0x00,sizeof(SqlCmd));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf(SqlCmd,&quot;Delete forumlist where usrno=%d&quot;,10);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL EXCUTE IMMEDIATE :SqlCmd;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prinf(&quot;\n Delete Success!!&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL SELECT COUNT(*)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INTO :TOT;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM FORUMLIST&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL WHENEVER SQLERROR GOTO stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n forumlist 테이블에 존재하는 총 회원 수=%d&quot;,tot);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stop_st;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXEC SQL ROLLBACK WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;\n Oracle Error : =%d&quot;,sqlca.sqlerrm.sqlerrmc);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. where절에서 회원의 고유번호값을 지정해주었다.는 점이 ex1과 다른점이다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. delete 부분을 다음과 같이 수정해도 된다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; usrnum=10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sqlprintf(SqlCmd,&quot;delete forumlist where usrno=%d&quot;,usrnum);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 이처럼 변수를 먼저 선언해준 후 값을 대입해서 삭제 하는 방법도 있다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-. 트랜잭션의 제어&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. EXEC SQL COMMIT WORK;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : DML 명령인 INSERT, DELETE ,UPDATE 문장을 수행한 경우에 유용하다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : DDL 명령은 자동 COMMIT 되므로 사용안해도 됨.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -. EXEC SQL ROLLBACK WORK; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style=&quot;MARGIN: 15px 0px 0px&quot;&gt;출처 : &lt;A title=&quot;제목 부분을 클릭하면&amp;#10;원 게시물을 볼 수 있습니다.&quot; href=&quot;http://tong.nate.com/boxitem/post.do?action=read&amp;amp;_boxID=309708&amp;amp;_tongID=123015&amp;amp;_boxItemID=31044632&amp;amp;_reloadTag=y&quot; target=_new&gt;Tong - ggypsy님의 배우자! 이것통&lt;/A&gt;&lt;/P&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>proc</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/396</guid>
			<comments>http://thx4alice.tistory.com/396#entry396comment</comments>
			<pubDate>Tue, 28 Oct 2008 22:34:31 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] Pro*C - 문제4 (테이블첨부)</title>
			<link>http://thx4alice.tistory.com/380</link>
			<description>&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;PC의 price가 2000이상인 것은 100씩 감소시켜라.&lt;br /&gt;&lt;/FONT&gt;&lt;TEXTAREA class=cpp name=code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;sqlca.h&amp;gt;

void execute_query()
{
	exec sql begin declare section;
		int price;
	exec sql end declare section;

	exec sql declare pc_cursor cursor
		for
			select price
			from pc
			where price &amp;gt; 2000
		for
			update of price;
	
	exec sql open pc_cursor;

	exec sql whenever not found do break;

	while (1)
	{
		exec sql fetch pc_cursor into :price;

		exec sql
			update pc
			set price = price - 100
			where current of pc_cursor;
	}

	exec sql close pc_cursor;
	exec sql commit work release;

}

void main()
{
	EXEC SQL BEGIN DECLARE SECTION;
		char username[20];
		char password[20];
		char oracledb[20];
	EXEC SQL END DECLARE SECTION;

	strcpy(username, &quot;ㅌㅌㅌㅌ&quot;);
	strcpy(password, &quot;ㅌㅌㅌㅌㅌ&quot;);
	strcpy(oracledb, &quot;ora92&quot;);

	EXEC SQL CONNECT :username IDENTIFIED BY :password USING :oracledb;

		execute_query();

	printf(&quot;Success\n&quot;);
}
&lt;/TEXTAREA&gt;&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs8.tistory.com/original/31/tistory/2008/10/07/21/46/48eb5a26ec9f8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/31/tistory/2008/10/07/21/46/48eb5a26ec9f8&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;649&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://thx4alice.tistory.com/attachment/ck120000000000.zip&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; SQL_query_file.zip&lt;/a&gt;&lt;/div&gt;&lt;/FONT&gt;&lt;br /&gt;첨부된 파일에 테이블 생성과 테이블 데이터가 들어있습니다.&lt;br /&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>오라클</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/380</guid>
			<comments>http://thx4alice.tistory.com/380#entry380comment</comments>
			<pubDate>Tue, 07 Oct 2008 21:48:15 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] Pro*C - 문제3</title>
			<link>http://thx4alice.tistory.com/379</link>
			<description>&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;PC의 평균 속도를 구하여라&lt;br /&gt;&lt;/FONT&gt;&lt;TEXTAREA class=cpp name=code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;sqlca.h&amp;gt;

void execute_query()
{
	exec sql begin declare section;
		double avg;
	exec sql end declare section;

	exec sql
		select avg(speed) into:avg
		from pc;
	
	printf(&quot;\nAVG(SPEED)\n&quot;);
	printf(&quot;--------------&quot;);
	printf(&quot;%f\n&quot;, avg);

}

void main()
{
	EXEC SQL BEGIN DECLARE SECTION;
		char username[20];
		char password[20];
		char oracledb[20];
	EXEC SQL END DECLARE SECTION;

	strcpy(username, &quot;xxx&quot;);
	strcpy(password, &quot;xx&quot;);
	strcpy(oracledb, &quot;ora92&quot;);

	EXEC SQL CONNECT :username IDENTIFIED BY :password USING :oracledb;

		execute_query();

	printf(&quot;Success\n&quot;);
}
&lt;/TEXTAREA&gt;&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs8.tistory.com/original/19/tistory/2008/10/07/21/23/48eb54c36eae0&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/19/tistory/2008/10/07/21/23/48eb54c36eae0&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;141&quot; width=&quot;319&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/FONT&gt;&lt;br /&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>오라클</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/379</guid>
			<comments>http://thx4alice.tistory.com/379#entry379comment</comments>
			<pubDate>Tue, 07 Oct 2008 21:23:53 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] Pro*C - 문제2</title>
			<link>http://thx4alice.tistory.com/378</link>
			<description>&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;사용자가 접근할 수 있는 테이블의 이름을 보여라&lt;br /&gt;&lt;/FONT&gt;&lt;TEXTAREA class=cpp name=code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;sqlca.h&amp;gt;

void execute_query()
{
	exec sql begin declare section;
		char table_name[20];
	exec sql end declare section;

	exec sql declare table_cur cursor for
		select table_name
		from user_tables;
	
	exec sql open table_cur;
	printf(&quot;\nTABLE_NAME\n&quot;);
	printf(&quot;-----------------\n&quot;);

	EXEC SQL WHENEVER NOT FOUND DO break;

	while (1)
	{
		exec sql fetch table_cur into :table_name;
		printf(&quot;%s\n&quot;, table_name);
	}
	exec sql close table_cur;
}

void main()
{
	EXEC SQL BEGIN DECLARE SECTION;
		char username[20];
		char password[20];
		char oracledb[20];
	EXEC SQL END DECLARE SECTION;

	strcpy(username, &quot;xxxxxxx&quot;);
	strcpy(password, &quot;xxxxx&quot;);
	strcpy(oracledb, &quot;ora92&quot;);

	EXEC SQL CONNECT :username IDENTIFIED BY :password USING :oracledb;

		execute_query();

	printf(&quot;Success\n&quot;);
}
&lt;/TEXTAREA&gt;&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;코드 중간에&lt;br /&gt;EXEC SQL WHENEVER NOT FOUND DO break;&lt;br /&gt;이 구문을 이용해서 무한루프에서 벗어나게끔 처리했습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs7.tistory.com/original/8/tistory/2008/10/07/21/14/48eb52944590f&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs7.tistory.com/image/8/tistory/2008/10/07/21/14/48eb52944590f&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;418&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;br /&gt;&lt;/FONT&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>오라클</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/378</guid>
			<comments>http://thx4alice.tistory.com/378#entry378comment</comments>
			<pubDate>Tue, 07 Oct 2008 21:14:52 +0900</pubDate>
		</item>
		<item>
			<title>[ORACLE] Pro*C - 문제1</title>
			<link>http://thx4alice.tistory.com/377</link>
			<description>&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt;모델번호(model)가 1004인 제조업체와 제품타입을 보여라.&lt;br /&gt;&lt;/FONT&gt;&lt;TEXTAREA class=cpp name=code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;sqlca.h&amp;gt;

void execute_query()
{
	/* 모델 번호(model)가 1004인 제조업체와 제품타입을 보여라 */
	exec sql begin declare section;
		char maker[20];
		char type[20];
	exec sql end declare section;

	exec sql select maker, type into :maker, :type
	from product
	where model = 1004;

	/* 화면에 출력 */
	printf(&quot;Model Number : 1004\n&quot;);
	printf(&quot;Maker : %s\n&quot;, maker);
	printf(&quot;Type : %s\n&quot;, type);

	exec sql commit work release;
}

void main()
{
	EXEC SQL BEGIN DECLARE SECTION;
		char username[20];
		char password[20];
		char oracledb[20];
	EXEC SQL END DECLARE SECTION;

	EXEC SQL WHENEVER NOT FOUND DO break;

	strcpy(username, &quot;xxxx&quot;);
	strcpy(password, &quot;xxxxxxxx&quot;);
	strcpy(oracledb, &quot;ora92&quot;);

	EXEC SQL CONNECT :username IDENTIFIED BY :password USING :oracledb;

		execute_query();

	printf(&quot;Success\n&quot;);
}
&lt;/TEXTAREA&gt;&lt;FONT face=&quot;&#039;DotumChe&#039;, &#039;Sans-serif&#039;&quot;&gt; &lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs8.tistory.com/original/24/tistory/2008/10/07/21/04/48eb505a26f0f&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/24/tistory/2008/10/07/21/04/48eb505a26f0f&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;141&quot; width=&quot;337&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;아 졸리네요...;;&lt;/FONT&gt;</description>
			<category>프로그래밍</category>
			<category>Oracle</category>
			<category>오라클</category>
			<author>ㅎㅎㅎ 미쉘린</author>
			<guid>http://thx4alice.tistory.com/377</guid>
			<comments>http://thx4alice.tistory.com/377#entry377comment</comments>
			<pubDate>Tue, 07 Oct 2008 21:05:16 +0900</pubDate>
		</item>
	</channel>
</rss>

