database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1272 게시물 읽기
No. 1272
syscolumns 으로 가져온 필드명을 이용해 data를 넣을려면..
작성자
류희우
작성일
2004-04-01 10:15
조회수
3,305

수고 하십니다 ^^;

지난번 질문에 대한 답변으로 큰 도움이 돼었습니다

이번엔 질문하기가 좀 어려워서 어떻게 글을 써야할지 약간은 당황스러운데요...

 

제목처럼 syscolumns 에서 얻어온 필드명에다 data를 넣을려고 합니다

입력 할 테이블의 필드명이
trg_01, trg_02 .....
이런식으로 되어있고요

검색해서 합을 구하는 테이블의 필드명이
src_01, src_02 ....
이렇게 되어있습니다

 

소스 테이블 필드들의 합계를 구해서 타겟 테이블의 특정필드(syscolumns로 얻어온 필드명)에 넣을려고 합니다

SELECT c.name
FROM syscolumns AS c,
(SELECT id
FROM sysobjects
WHERE name = 'target_table'
) AS tt
WHERE tt.id = c.id AND c.name = 'trg_' + @arg

이렇게 얻어온 필드명(문자열로 되어있습니다)을 가지고 더이상 진전이 없어서 이렇게 글을 올립니다

얻어온 필드명은 문자열인데 어떻게 이 타겟 테이블의 필드로 data를 집어 넣을 수 있을까요...
명쾌한 답변 부탁 드립니다..

그럼 즐거운 하루 되세요

 

 

이 글에 대한 댓글이 총 2건 있습니다.

요구하신 내용을 잘 몰라 나름대로 해석하여 답변을 씁니다.

a 라는 테이블에 b 라는 테이블의 자료를 모두 넣는데 조건은 동일한 column에 각각의 자료를 넣게 다는 것이죠. 그런데 column의 수도 확실하지 않고, 그리고 각각의 column 명이 다르다는 것이 문제가 아닌가요. 대신 column명에 조건이 있어 조건을 이용하는 점이 관건이라는 것인것 같아 커서 를 이용한 방법을 씁니다.

 

declare  @sql_query varchar(200)

 

declare  c_temp
for
select a.name
  from syscolumns a,
       sysobjects b
 where b.name =    'target_table'
   and a.id   =     b.id
   and c.name like 'trg_%'

 

open  c_temp

 

@sql_query =
'insert  target_table
 valuse  trg_' + right(rtrim(c_temp), 2) + ' = a.arg_' + right(rtrim(c_temp), 2) +

'from data_table a'

 

exec @sql_query

 

close  c_temp

deallocate c_temp

t_123님이 2004-04-02 10:46에 작성한 댓글입니다.
이 댓글은 2004-04-02 10:56에 마지막으로 수정되었습니다. Edit

제가 질문한 내용과 답변의 차이가 쫌 크지만

답변해주신 방법을 보고 해결책을 찾았네요

 

그리고 제 질문 내용을 요약하면

변수에 들어있는 문자열이 필드명과 같거든요

그래서 문자열을 실제 필드명처럼 사용 할 수는 없을까 하고

질문한 것이지요..

 

답글 내용처럼 커서를 이용하면 되겠네요..

답글 감사합니다..

 

즐거운 주말 보내세요..

 

류희우님이 2004-04-02 15:07에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1275예약어 중에 read라는 것도 있나요? [1]
지형준
2004-04-02
2658
1274에러가 뜨는뎅 어케 해야되나영....ㅡㅜ
코르코르
2004-04-02
2690
1273윈도우XP 프로에 MS-SQL 설치가 됩니까? [2]
sql
2004-04-02
3594
1272syscolumns 으로 가져온 필드명을 이용해 data를 넣을려면.. [2]
류희우
2004-04-01
3305
1270트랜잭션 에러입니다. 고수님들의 명쾌한 답변 부탁드릴께요. [1]
전지영
2004-03-31
6195
1269MS-SQL을 제거하고 새로 설치하려고 하는데여
김희선
2004-03-31
2861
1268[질문] datetime으로 변환이 안되는 이유?? [2]
권기진
2004-03-30
4643
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.030초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다