예
1. 변수가 있는 NEWID 함수 사용
다음 예에서는 NEWID()를 사용하여 uniqueidentifier 데이터 형식으로 선언된 변수에 값을 할당합니다. uniqueidentifier 데이터 형식 변수의 값은 테스트하기 전에 인쇄됩니다.
코드 복사
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
결과 집합은 다음과 같습니다.
코드 복사
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
참고:
NEWID에서 반환된 값은 컴퓨터마다 다릅니다. 설명을 돕기 위해 이 숫자가 표시됩니다.
2. CREATE TABLE 문에서 NEWID 사용
다음 예에서는 uniqueidentifier 데이터 형식으로 cust 테이블을 만들고 NEWID를 사용하여 테이블을 기본값으로 채웁니다. NEWID()의 기본값을 할당할 때 새 행과 기존 행마다 CustomerID 열에 고유 값이 있습니다.
코드 복사
-- Creating a table using NEWID for uniqueidentifier data type.
CREATE TABLE cust
(
CustomerID uniqueidentifier NOT NULL
DEFAULT newid(),
Company varchar(30) NOT NULL,
ContactName varchar(60) NOT NULL,
Address varchar(30) NOT NULL,
City varchar(30) NOT NULL,
StateProvince varchar(10) NULL,
PostalCode varchar(10) NOT NULL,
CountryRegion varchar(20) NOT NULL,
Telephone varchar(15) NOT NULL,
Fax varchar(15) NULL
)
GO
-- Inserting data into cust table.
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,
'90110', 'Finland', '981-443655', '981-443655')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',
'08737-363', 'Brasil', '(14) 555-8122', '')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,
'1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,
'8010', 'Austria', '7675-3425', '7675-3426')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,
'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68')
GO
3. uniqueidentifier 및 변수 할당 사용
다음 예에서는 @myid라는 로컬 변수를 uniqueidentifier 데이터 형식의 변수로 선언합니다. 그런 다음 SET 문을 사용하여 변수에 값을 할당합니다.
코드 복사
DECLARE @myid uniqueidentifier
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO
참고 항목
참조
NEWSEQUENTIALID()
ALTER TABLE(Transact-SQL)
CAST 및 CONVERT(Transact-SQL)
CREATE TABLE(Transact-SQL)
데이터 형식(Transact-SQL)
시스템 함수(Transact-SQL)
uniqueidentifier(Transact-SQL)
StarUML은 빠르고, 유연하고, 확장가능하며, 풍부한 기능에 Win32 플랫폼에서 무료로 사용할 수 있는 UML/MDA 플랫폼(툴)을 개발하기 위한 오픈 소스 프로젝트입니다. StarUML 프로젝트의 목적은 Rational Rose, Together와 같은 상업적 도구를 비싼 돈을 들여 사용하지 않더라도 그에 준하는 기능을 갖춘 오픈 소스 소프트웨어 모델링 도구 및 플랫폼을 개발하는 것입니다. 상세히 알기...
StarUML에 관하여
StarUML은 빠르고, 유연하고, 확장가능하며, 풍부한 기능에 Win32 플랫폼에서 무료로 사용할 수 있는 UML/MDA 플랫폼(툴)을 개발하기 위한 오픈 소스 프로젝트입니다. StarUML 프로젝트의 목적은 Rational Rose, Together와 같은 상업적 도구를 비싼 돈을 들여 사용하지 않더라도 그에 준하는 기능을 갖춘 오픈 소스 소프트웨어 모델링 도구 및 플랫폼을 개발하는 것입니다.
UML 2.0 : UML 은 OMG(Object Management Group)가 지속적으로 관리하는 통합 표준입니다. 최근에 UML 2.0이 릴리즈 되었으며 StarUML은 UML 2.0 을 지원하며 최신 UML 표준을 지원하고 있습니다.
MDA (Model Driven Architecture) : MDA는 OMG가 도입한 새로운 기술입니다. MDA의 장점을 얻기 위해서는 소프트웨어 모델링 툴은 많은 커스터마이징 요소들을 지원해야만 합니다. StarUML은 MDA를 지원할 수 있도록 설계되었고 UML 프로파일, 접근법, 모델 프레임워크, 표기법 확장, MDA 코드 및 문서 템플릿 등 수많은 커스터마이징 요소들을 제공합니다. 이러한 것들은 여러분의 조직문화, 프로세스 및 프로젝트에 툴을 맞출 수 있도록 도와줍니다.
플러그-인 아키텍처 : 많은 사용자들이 소프트웨어 모델링툴에 더 많은 기능을 요구합니다. 이러한 요구사항에 부합하기 위해, 툴은 플래폼에 매우 잘 정의된 플러그를 가져야만 합니다. StarUML 은 누구든지 COM과 호환가능한 언어(C++, Delphi, C#, VB 등)에서 플러그인 모듈을 개발할 수 있게 단순하며 강력한 플러그인 아키텍쳐를 제공합니다.
사용성 : 사용성은 소프트웨어 개발의 가장 중요한 사항입니다. StarUML은 퀵 다이얼로그, 키보드 조작, 다이어그램 오버뷰 등과 같이 많은 사용자들에게 친숙한 특징을 제공할 수 있도록 적용되었습니다.
주의 SET STATISTICS TIME 옵션을 ON으로 설정하면 문에 대한 시간 통계가 표시됩니다. OFF로 설정하면 시간 통계가 표시되지 않습니다.
SET STATISTICS TIME 옵션은 실행 시간 또는 런타임에 설정되며, 구문 분석 시에는 설정되지 않습니다.
ightweight pooling 구성 옵션을 설정하면 활성화되는 파이버 모드에서는 Microsoft SQL Server 가 정확한 통계를 제공할 수 없습니다.
SET STATISTICS TIME을 ON으로 설정해 쿼리를 실행하면 sysprocesses 테이블의 cpu 열만 업데이트됩니다. SET STATISTICS TIME이 OFF인 경우에는 0이 반환됩니다.
ON과 OFF 설정은 SQL Server Management Studio 의 Process Info View for Current Activity에 있는 CPU 열에도 영향을 줍니다.
USE AdventureWorks;
GO
SET STATISTICS TIME ON
GO
SELECT *
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO
insert into #Notice select gubun, seq, title, regdate from
(
select top 3 'notice' as 'gubun', seq,title,right(replace(convert(varchar(10),regdate,111),'/','.'),8) as 'regdate'
from notice where seq in (select top 5 seq from notice where status = '1' and len(title) > 0 order by rank desc,seq desc )
union
select top 2 'event' as 'gubun', seq,title,right(replace(convert(varchar(10),regdate,111),'/','.'),8) as 'regdate'
from event where seq in (select top 5 seq from event where status = '1' and len(title) > 0 order by seq desc )
) as a order by regdate desc
set @totalcount = @@rowcount
set @chk_num = 0
while(@totalcount < 5)
begin
if(@chk_num = 0 and @totalcount = 0 )
begin
--insert into #Notice select 'notice' as 'gubun', '0','등록된 자료가 없습니다.',right(replace(convert(varchar(10),getdate(),111),'/','.'),8) as 'regdate'
insert into #Notice select 'notice' as 'gubun', '0','undefined', 'undefined' as 'regdate'
end
else
begin
-- insert into #Notice select 'notice' as 'gubun', '0','undefined',right(replace(convert(varchar(10),getdate(),111),'/','.'),8) as 'regdate'
insert into #Notice select 'notice' as 'gubun', '0','undefined', 'undefined' as 'regdate'
end
print @totalcount
set @totalcount = @totalcount + 1
set @chk_num = @chk_num + 1
end