책 내용 질문하기
내장 SQL에 대해서...
도서
[2013] 정보처리기사 실기
페이지
395
조회수
93
작성일
2013-10-01
작성자
첨부파일

395PAGE에 잠깐만요

EXEC SQL BEGIN DECLARE SECTION

int SNO;

char SNAME[20];

char DEPT[6];

char SQLSTATE[6];

EXEC SQL END DECLARE SECTION

1)여기서 선언된 변수들은 내장 SQL 변수인가요? 아니면 호스트변수인가요?

책에는 호스트변수로 사용된거같은데

2)왜 구지 SECTION을 넣어서 표현한건가요?

SNO = 100; <----여기서는 호스트변수라고 설명이되어있는데

3) 호스트변수라는 의미가 C언어에서 사용하는 변수라는 의미인가요?

4) 호스트변수라면 데이터 타입을 따로 지정해주어야하는것 아닌가요?

어디서부터 개념을 잘못잡았는지 모르겠는데 헷갈리네요

상세한 답변부탁드릴께요

답변
2013-10-01 10:04:07

안녕하세요.

여기서 호스트 언어란 C를 말합니다.

호스트 언어 C에서 내장 SQL을 사용하는 예제에서

Begin ~ End Declare Section 부분은 변수 선언 부분 <- 이 부분에서 선언된 변수는 호스트 언어 내에서 와 포함된 내장 SQL 에서 모두 사용 가능합니다. 단 호스트 언어 내에서의 사용이 아닌 경우에는 구분하기 위해 변수명 앞에 :를 붙입니다.

SNO=100; 이 부분은 단순 처리문

EXEC SQL ~ 이후 부분은 내장 SQL 부분

내장 SQL 부분에서 호스트 언어 C에서 선언된 변수를 사용할 때 변수명 앞에 :를 붙인 것이며,

중간 SNO=100; 부분은 호스트 언어 C의 단순 처리문이므로 변수명 앞에 :를 붙이지 않은 것입니다.

오늘도 즐거운 하루 되세요.

"
  • *
    2013-10-01 10:04:07

    안녕하세요.

    여기서 호스트 언어란 C를 말합니다.

    호스트 언어 C에서 내장 SQL을 사용하는 예제에서

    Begin ~ End Declare Section 부분은 변수 선언 부분 <- 이 부분에서 선언된 변수는 호스트 언어 내에서 와 포함된 내장 SQL 에서 모두 사용 가능합니다. 단 호스트 언어 내에서의 사용이 아닌 경우에는 구분하기 위해 변수명 앞에 :를 붙입니다.

    SNO=100; 이 부분은 단순 처리문

    EXEC SQL ~ 이후 부분은 내장 SQL 부분

    내장 SQL 부분에서 호스트 언어 C에서 선언된 변수를 사용할 때 변수명 앞에 :를 붙인 것이며,

    중간 SNO=100; 부분은 호스트 언어 C의 단순 처리문이므로 변수명 앞에 :를 붙이지 않은 것입니다.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.