FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[3098] execute statement 문에서요...
유종규 [kib1948] 2116 읽음    2009-06-29 12:03
테이블 이름이 변동되는 경우는 어쩔수 없이 동적 sql을 쓸수밖에 없는거 맞죠?
insert를 하는데 희한하게 문자열은 저장이 안되요.. 방법좀 알려주세요...

   insert into Table(name) values('홍길동');

이건 잘되거든요. 그런데 테이블 이름을 변수로 받아오니까

  query = 'insert into ' || Tablename || '(name) values(' || '홍길동' || ')';
  execute statement query;

  TableName는 전달 파라메타로 받아옵니다. 그런데 위 문장을 실행하면 에러가 나요..
  당연히 name필드는 char형태이고요.  여러가지 값을 넣고 돌려본 결과 문자열을 넣을때는 에러가
  난다는 결론을 얻게 되었어요.. 왜나하면 '123' 이렇게 넣거나 아니면 123 이런식으로 숫자를 넣어도
  실행이 잘 된다는 겁니다. 숫자가 아닌 문자일경우에 에러가 나더라고요.. 변수로 값을 입력해도 마찬가지
  입니다.님들도 한번 테스트 해보세요.
  execute statement 문의 파이어버드 버그인가요 아니면 제가 모르는게 있는건가요. 고수님들 알려주시면
  감사하겠습니다.

+ -

관련 글 리스트
3098 execute statement 문에서요... 유종규 2116 2009/06/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.