7월, 2011의 게시물 표시

[펌글][MSSQL] Identity 자동 증가함수

펌]http://kkhbbung.tistory.com/21 [MSSQL] Identity 자동 증가함수 Identity :오라클의 시퀀스와 비슷한 기능 ------------------------------------------------------------------------ #1 기본 사용법 사용예) create table test( no int identity(1,1) NOT NULL, --(시작할 숫자값, 증가할 숫자값) name varchar(256) NULL ) ------------------------------------------------------------------------ #2 인서트시 증가된 값 얻어오기 Identity를 설정해준 테이블에 인서트한 경우 인서트한 identity 불러오기 위해서는 보통 다시한번 select를 해주게 된다 인서트 쿼리 뒤에 select @@Identity을 붙여 주면 insert한 row의 identity를 불러올 수 있다. 사용예) insert into test(name) values('James') select @@Identity as 'id' (밑줄은 별칭이므로 아무거라도 상관 없다.) ------------------------------------------------------------------------- #3 증가값을 임의로 정해보자 :Identity를 선언한 경우에는 인서트 시 ,Identity선언 컬럼의 값을 임의로 지정할 수 없다 ex) insert into test(no,name) values(1000,'James') 테이블 생성 시 디폴트 값으로 임의의 번호로 지정하고 싶거나, 삭제된 번호를 채워 넣고 싶을 때 유용한 방법이다. -SET IDENTITY_INSERT [테이블명] ON; 증가값을 수동 지정 -SET IDENTITY_INSER...

펌)mssql 함수모음-참조

펌:http://trust.tistory.com/tag/mssql함수 숫자함수 ABS ABS함수는 절대값을 나타낸다. 형식: ABS(숫자값) POWER POWER함수는 제곱근을 표현해 준다. 형식: POWER(숫자값, 승수값) SQRT SQRT는 루트값을 표현해준다. 형식: SQRT(숫자값) RAND RAND는 0 에서 1사이의 난수를 발생시킨다. 형식: RAND(초기값) ROUND ROUND는 반올림 함수이다. 형식: ROUND(숫자, 자릿수) ROUND는 자릿수만 조심하면 된다. 2번째 결과는 8을 반올림하여 그 앞의 9에 1이 더해진것이고 3번째 결과는 9가 반올림된것이다. CEILING, FLOOR CEILING은 소수점 첫번째 값을 기준으로 올림을 하고 FLOOR는 소수점 첫번째 값을 기준으로 내림을 한다. 형식: CEILING(숫자) ... FLOOR도 동일 CEILING과 FLOOR는 소수 첫번째값이 5 이상이든 이하든간에 무조건 올림, 내림을 수행한다. ---------------------------------------------------------- 문자함수 LEFT, RIGHT LEFT는 지정해준 자릿수만큼 왼쪽에서부터 문자열을 반환한다. 당연히 RIGHT는 반대이다. 형식 : LEFT(문자, 자릿수) LTRIM, RTRIM LTRIM은 문자열의 왼쪽 공백을 제거한다. 역시 RTRIM은 반대일 경우 사용된다. 형식: LTRIM(문자) LEN LEN함수는 문자열에서 문자의 갯수를 추출한다. 형식: LEN(문자) Len함수는 문자 뒤쪽의 공백은 문자로 계산하지 않는다. UPPER, LOWER UPPER는 소문자를 대문자로, LOWER는 대문자를 소문자로 바꾼다. 형식: UPPER(문자) REVERSE REVERSE는 문자열을 반대로 표시한다. 형식: REVERSE(문자열) ...

MS-SQL DECLARE 관련 여러 로우 텍스트 붙이기

DECLARE @Authors VARCHAR(8000) SET @Authors = '' DECLARE @co_no INTEGER SET @co_no = '' UPDATE #REQMEMO SET @Authors = xName = CASE WHEN @co_no = Cno THEN @Authors + ', ' + xName ELSE xName END, @co_no = Cno DECLARE @Authors VARCHAR(8000) SET @Authors = '' DECLARE @co_no INTEGER SET @co_no = '' UPDATE #REPMEMO SET @Authors = xName = CASE WHEN @co_no = Cno THEN @Authors + ', ' + xName ELSE xName END, @co_no = Cno SELECT Cno, MAX(xName) FROM #REQMEMO WHERE CNO ='82105' GROUP BY Cno ; SELECT Cno, MAX(xName) FROM #REPMEMO WHERE CNO ='82105' GROUP BY Cno ;

MS-SQL 가상테이블 만들기

CREATE TABLE #REQMEMO ( Cno INTEGER NOT NULL, Sno INTEGER NOT NULL, xName VARCHAR(8000) NOT NULL, Ident INT IDENTITY(1,1) NOT NULL PRIMARY KEY ) INSERT #REQMEMO ( xName, Cno ,Sno) SELECT COUNSEL_CONTENTS,COUNSEL_NO ,SEQ_NO FROM TABLE01 WHERE COUNSEL_GUBUN = 1 order by counsel_no, seq_no ;

MS-SQL 다른디비에 접근하기위한 쿼리사용 방법은

DB 작성하다 보면, 다른 DB에 있는 테이블 정보를 사용해야 될 때가 있습니다. MS SQL에서는 아래와 같이 DB 이름에 ".." 을 붙여서 작성하면 됩니다. select * from db_name..tableName 요렇게 조회해서 인서트할때 유용 insert into xxx( ) select * xxx..table

리눅스 메모리 확인

cat /proc/meminfo