«tsql» 태그된 질문

T-SQL (Transact-Structured Query Language)은 Sybase ASE 및 Microsoft SQL Server에서 지원하는 SQL 기능의 확장입니다. MySQL, PostgreSql, Oracle (Pl / SQL) 관련 쿼리에는이 태그를 사용하지 마십시오. LINQ를 사용하여 작성되는 SQL 코드도이 태그의 일부가 아닙니다. 이 태그는 Microsoft SQL Server를 사용하여 고급 SQL 프로그래밍을 위해 특별히 작성되었습니다.

5
varchar (8000)보다 varchar (500)의 장점이 있습니까?
나는 MSDN 포럼과 여기에서 이것을 읽었으며 아직 명확하지 않습니다. 이것이 맞다고 생각합니다. Varchar (max)는 텍스트 데이터 유형으로 저장되므로 단점이 있습니다. 따라서 귀하의 필드가 8000 자 미만이 될 것이라고 가정 해 보겠습니다. 내 데이터베이스 테이블의 BusinessName 필드와 같습니다. 실제로 비즈니스 이름은 아마도 항상 500 자 미만일 것입니다. 내가 실행하는 많은 varchar …
90 sql  sql-server  tsql 


7
SQL Server "텍스트"데이터 형식의 WHERE 절
SQL Server에서 [CastleType]이 데이터 형식 "text"로 설정되고 쿼리는 다음과 같습니다. SELECT * FROM [Village] WHERE [CastleType] = 'foo' 오류가 발생합니다. 데이터 유형 TEXT 및 VARCHAR 은 같음 연산자에서 호환되지 않습니다. WHERE 절을 사용하여이 데이터 유형을 쿼리 할 수 ​​없습니까?


6
두 데이터베이스 간의 외래 키 관계 추가
두 개의 서로 다른 데이터베이스에 두 개의 테이블이 있습니다. table1 (database1에 있음)에는 column1이라는 열이 있으며 기본 키입니다. 이제 table2 (database2)에 column2라는 열이 있으며이를 외래 키로 추가하고 싶습니다. 추가하려고했는데 다음과 같은 오류가 발생했습니다. 메시지 1763, 수준 16, 상태 0, 줄 1 데이터베이스 간 외래 키 참조는 지원되지 않습니다. 외래 키 Database2.table2. …

9
INSERT 대 INSERT INTO
나는 한동안 MS SQL에서 T-SQL로 작업 해 왔으며 어떻게 든 테이블에 데이터를 삽입해야 할 때마다 구문을 사용하는 경향이 있습니다. INSERT INTO myTable <something here> 나는 INTO여기서 키워드 가 선택 사항 이라는 것을 이해하고 그것을 사용할 필요는 없지만 어떻게 든 내 경우에는 습관이되었습니다. 내 질문은 : INSERT구문과 사용의 의미가 INSERT INTO있습니까? …
90 sql  sql-server  tsql 

7
T-SQL : 알려진 값의 배열을 통해 반복
내 시나리오는 다음과 같습니다. 특정 ID 집합에 대해 다른 저장 프로 시저를 호출해야하는 저장 프로 시저가 있다고 가정 해 보겠습니다. 이것을 할 방법이 있습니까? 즉이 작업을 수행 할 필요가 없습니다. exec p_MyInnerProcedure 4 exec p_MyInnerProcedure 7 exec p_MyInnerProcedure 12 exec p_MyInnerProcedure 22 exec p_MyInnerProcedure 19 다음과 같이합니다. *magic where I …
90 sql  sql-server  tsql 

6
Exists 1 또는 Exists *를 사용하는 하위 쿼리
내 EXISTS 수표를 다음과 같이 작성했습니다. IF EXISTS (SELECT * FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Where Columns=@Filters END DBA에의 전생에서의 하나는 내가 할 때 저에게 EXISTS절을 사용하는 SELECT 1대신SELECT * IF EXISTS (SELECT 1 FROM TABLE WHERE Columns=@Filters) BEGIN UPDATE TABLE SET ColumnsX=ValuesX WHERE Columns=@Filters …
89 sql  sql-server  tsql 

2
varchar (max) 변수의 최대 크기
과거에 누군가 나에게 .NET의 최대 크기를 물었다 varchar(max)면 2GB라고 말했거나 더 정확한 수치 (2 ^ 31-1 또는 2147483647)를 찾아봤을 것 입니다. 그러나 최근 테스트에서 varchar(max)변수가 분명히이 크기를 초과 할 수 있음을 발견했습니다 . create table T ( Val1 varchar(max) not null ) go declare @KMsg varchar(max) = REPLICATE('a',1024); declare @MMsg …
89 sql-server  tsql 

2
UPDLOCK, HOLDLOCK에 대해 혼란 스러움
Table Hints 사용을 조사하는 동안 다음 두 가지 질문을 발견했습니다. 어떤 잠금 힌트를 사용해야합니까 (T-SQL)? HOLDLOCK은 UPDLOCK에 어떤 영향을 미칩니 까? 두 질문에 대한 답변은를 사용할 때 (UPDLOCK, HOLDLOCK)다른 프로세스가 해당 테이블의 데이터를 읽을 수 없다고 말하지만 나는 이것을 보지 못했습니다. 테스트를 위해 테이블을 만들고 두 개의 SSMS 창을 시작했습니다. …

1
커서 루프에서 사용하기 위해 여러 열을 가져 오는 방법은 무엇입니까?
커서 루프 내에서 다음 SQL 스 니펫을 실행하려고하면 set @cmd = N'exec sp_rename ' + @test + N',' + RIGHT(@test,LEN(@test)-3) + '_Pct' + N',''COLUMN''' 다음 메시지가 표시됩니다. Msg 15248, 수준 11, 상태 1, 프로 시저 sp_rename, 줄 213 매개 변수 @objname가 모호하거나 청구 @objtype(COLUMN)가 잘못되었습니다. 무엇이 잘못되었으며 어떻게 수정합니까? 열 …

6
두 지점 사이의 거리 계산 (위도, 경도)
지도에서 두 위치 사이의 거리를 계산하려고합니다. 경도, 위도, X POS, Y POS와 같은 데이터를 저장했습니다. 이전에 아래 스 니펫을 사용했습니다. DECLARE @orig_lat DECIMAL DECLARE @orig_lng DECIMAL SET @orig_lat=53.381538 set @orig_lng=-1.463526 SELECT *, 3956 * 2 * ASIN( SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2) + COS(@orig_lng * pi()/180 …

4
DISTINCT를 사용하여 파티션 함수 COUNT () OVER 가능
다음과 같이 고유 한 NumUsers의 누적 합계를 얻기 위해 다음을 작성하려고합니다. NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth]) 관리 스튜디오는 이것에 대해 너무 행복해 보이지 않습니다. DISTINCT키워드를 제거하면 오류가 사라지 지만 고유 카운트는 아닙니다. DISTINCT파티션 기능 내에서 가능하지 않은 것 같습니다. 고유 개수를 찾는 방법은 무엇입니까? 상관 하위 쿼리와 …


5
MS SQL 비교 날짜?
2 개의 날짜 (datetimes)가 있습니다. date1 = 2010-12-31 15 : 13 : 48.593 date2 = 2010-12-31 00 : 00 : 00.000 같은 날, 다른 시간입니다. date1 시간 때문에 <=를 사용하여 date1과 date2를 비교하는 것은 작동하지 않습니다. 따라서 date1 <= date2는 잘못되었지만 참이어야합니다. 연, 월, 일만보고 비교해도 똑같나요? SQL Server 2008. …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.