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 1489 게시물 읽기
No. 1489
mysql에서 mssql로 쿼리변환중 주의사항
작성자
김병용
작성일
2004-08-17 17:43ⓒ
2004-08-17 17:47ⓜ
조회수
4,735

mysql 쿼리입니다.. 이것을 Mssql쿼리로 바꾸어보겟습니다...

 

CREATE TABLE item_maker (
num int(18) unsigned NOT NULL auto_increment,
mart_id varchar(10) NOT NULL default '',
show_flag char(1) NOT NULL default '1',
item_company varchar(200) NOT NULL default '',
template int(11) NOT NULL default '1',
title_content text NOT NULL,
order_flag int(11) NOT NULL default '0',
dt varchar(8) NOT NULL default '',
PRIMARY KEY (num)
)

작업

1.auto_increment 는 identity로 바꾼다..

2. int(숫자) ==>그냥 int만 써준다.

3. unsigned ==> 그냥 지운다..(디비가 낭비는 되겟찌만..해결책을 모르겟어요. 그래서 일단 ..이렇게..-_-)

4.PRIMARY KEY (num) ==> 괄호안의 컬럼에 가서 primary key를 추가해준다...

 

mssql 쿼리입니다....

CREATE TABLE item_maker (
num int NOT NULL identity PRIMARY KEY ,
mart_id varchar(10) NOT NULL default '',
show_flag char(1) NOT NULL default '1',
item_company varchar(200) NOT NULL default '',
template int NOT NULL default '1',
title_content text NOT NULL,
order_flag int NOT NULL default '0',
dt varchar(8) NOT NULL default '')

 

이렇게 햇습니다..

질문들이 많이 잇길래 해보앗습니다.....

더 아시는분들은 답글 좀 써주세요..

그럼 추가하겟습니다...

 

참 다음쿼리는 어찌 바꾸는게 좋을까요??

 

CREATE TABLE purchase_confirm (
num int(10) unsigned NOT NULL auto_increment,
mart_id varchar(10) NOT NULL default '',
pur_code varchar(20) NOT NULL default '0',
confirm_ok char(1) NOT NULL default '',
confirm_dt datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (num,pur_code),
KEY IX_purchase_confirm (mart_id)
)

궁금한부분

PRIMARY KEY (num,pur_code) ==> PRIMARY KEY 가 두개인가??아니면 두개를 하나의 프라이머리키로 쓰는가??

==> mssql 쿼리로 바꾼다면??어찌만들수잇을까??

KEY IX_purchase_confirm (mart_id) ==> 이건 무슨의미...인지??

 


 

 

 

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

일단 key IX_purchase_confirm에 대한 내용은 저도 모르는 부분이라

조금 난감한데요. 아마도 mysql에서 unique한 칼럼을 지정하는

부분은 아닐까 추측해봅니다.

 

CREATE TABLE purchase_confirm (
num int IDENTITY (1, 1) NOT NULL,
mart_id varchar(10) not null,
pur_code varchar(20) not null,
confirm_ok char(1) not null,
confirm_dt datetime not null,
) ON [PRIMARY]
GO

ALTER TABLE purchase_confirm ADD
 CONSTRAINT PK_purchase_confirm PRIMARY KEY ( num, pur_code ) WITH FILLFACTOR =90 on  PRIMARY
 CONSTRAINT df_purchase_confirm_martid DEFAULT ('') FOR mart_id,
 CONSTRAINT df_purchase_confirm_pur_code DEFAULT ('0') FOR pur_code,
 CONSTRAINT df_purchase_confirm_ok DEFAULT ('') FOR confirm_ok,
 CONSTRAINT df_purchase_confirm_dt DEFAULT (getDate()) FOR confirm_dt


그리고 바뀐 sql구문은 위와 같구요. default에서 confirm_dt는 시스템일자로 바꿨습니다. 형태로 바꾸시면 됩니다.

 

여리님이 2004-08-17 18:21에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1492ㄱ 으로 시작하는 사람이름 [1]
박무열
2004-08-19
3153
1491hostname 변경시 ms sql server 환경 변경 방법 문의..
kis
2004-08-19
2621
1490다른 테이블의 갯수 세어서 insert하기 [1]
qudals
2004-08-19
2516
1489mysql에서 mssql로 쿼리변환중 주의사항 [1]
김병용
2004-08-17
4735
1488그룹별 중에 상위 한개만 가지고 오고 싶은데요... [1]
둥이
2004-08-17
4467
1487엑셀파일을 ms sql db로 저장하기... [1]
대행수
2004-08-17
3949
1486도와주세요..부탁드립니다. 일주일째 고생중 [1]
이각훈
2004-08-15
3134
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다