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 6995 게시물 읽기
No. 6995
다국어 입력관련 에러 입니다.
작성자
눈사람탱고
작성일
2016-07-21 15:40
조회수
3,425

DECLARE @n_book nvarchar(100),

@n_isbn varchar(13)

 

DECLARE cur_book CURSOR

FOR

SELECT N_ISBN,

N_BOOK

FROM BOOK_MAST

 

OPEN cur_book

FETCH NEXT FROM cur_book INTO @n_isbn, @n_book

 

WHILE @@FETCH_STATUS = 0

BEGIN

 

update BOOK_DTL

set n_book = @n_book

where N_ISBN = @n_isbn

 

FETCH NEXT FROM cur_book INTO @n_isbn, @n_book

 

END

 

CLOSE cur_book

DEALLOCATE cur_book

 

 

위와 같은 쿼리를 실행시킬때,

 

fetch 시 @n_book에는 아랍어로 유니코드형태의 'คนจิ๋วตะลุยโลกวิทย์ ตอน ท่องดินแดนแห่งพืช (ฉบับการ์ตูน)' 가 값으로 등록되어 있고

이값을 읽어서 BOOK_DTL의 N_BOOK 필드에 UPDATE 를 하고 싶습니다.

 

 

상수와 같은 경우에는 상수앞에 N을 붙여서 N'คนจิ๋วตะลุยโลกวิทย์ ตอน ท่องดินแดนแห่งพืช (ฉบับการ์ตูน)' 이렇게 사용하면 될것같은되요

위와 같이 변수에 할당된 사항에서는 어떻게 되는지요?

 

위와 같이 실행시키면 BOOK_DTL 의 N_BOOK 에는 '???????????????????????????' 이렇게 저장됩니다.

 

물론 BOOK_MAST 의 N_BOOK 의 데이터 형태는 nvarchar(100) 이구요

마찬가지로 BOOK_DTL의 N_BOOK도 같은 데이터 형태인 nvarchar(100) 으로 되어 있습니다.

 

고수님들 부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.
CREATE TABLE #org
(
oisbn VARCHAR(13)
, unistr NVARCHAR(MAX)
)
;
GO
 
CREATE TABLE #trg
(
cisbn VARCHAR(13)
, copied NVARCHAR(MAX)
)
;
GO
 
INSERT INTO #org(oisbn, unistr) VALUES( '9781234567890', N'คนจิ๋วตะลุยโลกวิทย์ ตอน ท่องดินแดนแห่งพืช (ฉบับการ์ตูน)' )
;
 
SELECT *
FROM #org
;
 
INSERT INTO #trg( cisbn, copied ) VALUES( '9781234567890', N'' )
;
 
DECLARE @n_book nvarchar(100),
@n_isbn varchar(13)
;
 
DECLARE cur_book CURSOR
FOR
SELECT oisbn,
unistr
FROM #org
;
 
OPEN cur_book
FETCH NEXT FROM cur_book INTO @n_isbn, @n_book
 
WHILE @@FETCH_STATUS = 0
BEGIN
 
update #trg
set copied = @n_book
where cisbn = @n_isbn
 
FETCH NEXT FROM cur_book INTO @n_isbn, @n_book
 
END
 
CLOSE cur_book
DEALLOCATE cur_book
 
SELECT *
FROM #trg
;
 
DROP TABLE #org
;
GO
DROP TABLE #trg
;
GO
 
-- 잘 됩니다만...
우욱님이 2016-07-25 14:59에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6999ms sql 2008 오류에 관해서..
초보DBA
2016-08-14
3448
6997FK의 부모 찾는 방법이 있나요..? [2]
초보DBA
2016-08-02
3385
6996MSSQL2000 에서 순번을 넣고싶은데요 방법이있나요? [1]
김우성
2016-07-25
3704
6995다국어 입력관련 에러 입니다. [1]
눈사람탱고
2016-07-21
3425
6994PROCEDURE 만들때 USE
김우성
2016-07-19
3360
6993트리거를 실 업무에서 사용하지 않는 이유는 뭔가요? [2]
morningtak
2016-07-18
3553
6992SQL 2008 R2 스탠다드 라이센스 관련 [1]
윤병호
2016-07-04
3457
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.046초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다