«t-sql» 태그된 질문

Transact-SQL (T-SQL)은 Microsoft SQL Server 및 SAP의 Sybase에서 사용하는 SQL의 방언입니다.


6
그룹당 n 개의 행 검색
결과 집합의 각 그룹에서 여러 행을 선택해야하는 경우가 종종 있습니다. 예를 들어, 고객 당 'n'가장 최근 또는 가장 최근의 주문 값을 나열하려고합니다. 더 복잡한 경우, 나열 할 행 수는 그룹 (그룹 / 부모 레코드의 속성으로 정의)에 따라 달라질 수 있습니다. 이 부분은 선택 사항이며 추가 크레딧을 제공하며 사람들이 응답하지 않도록 …

1
대상 테이블의 서브 세트를 병합
MERGE명령문 을 사용하여 테이블에서 행을 삽입하거나 삭제 하려고 하지만 해당 행의 하위 집합에만 작용하고 싶습니다. 에 대한 설명서 MERGE에는 매우 강력한 경고가 있습니다. 일치 목적으로 사용되는 대상 테이블의 열만 지정해야합니다. 즉, 목표 테이블에서 소스 테이블의 해당 컬럼과 비교되는 컬럼을 지정하십시오. AND 절 target_table.column_x = value를 지정하는 등의 ON 절에서 대상 …

6
윈도우 함수를 사용한 날짜 범위 롤링 합계
날짜 범위에 대한 롤링 합계를 계산해야합니다. 예를 들어 AdventureWorks 샘플 데이터베이스 를 사용하면 다음과 같은 가상 구문이 필요한 것을 정확하게 수행합니다. SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM Production.TransactionHistory AS TH ORDER …

2
유니 코드 매개 변수 및 변수 이름을 만드는 방법
이 모든 것이 작동합니다. CREATE DATABASE [¯\_(ツ)_/¯]; GO USE [¯\_(ツ)_/¯]; GO CREATE SCHEMA [¯\_(ツ)_/¯]; GO CREATE TABLE [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯] NVARCHAR(20)); GO CREATE UNIQUE CLUSTERED INDEX [¯\_(ツ)_/¯] ON [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]); GO INSERT INTO [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]) VALUES (N'[¯\_(ツ)_/¯]'); GO CREATE VIEW [¯\_(ツ)_/¯].[vw_¯\_(ツ)_/¯] AS SELECT [¯\_(ツ)_/¯] FROM [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]; GO CREATE PROC [¯\_(ツ)_/¯].[sp_¯\_(ツ)_/¯] @Shrug NVARCHAR(20) AS SELECT …

4
SQL Server에서 저장 프로 시저의 결과를 보유 할 수있는 임시 테이블을 만드는 가장 쉬운 방법은 무엇입니까?
여러 번 SQL Server를 처리 할 때 다음과 같은 내용을 작성해야합니다. create table #table_name ( column1 int, column2 varchar(200) ... ) insert into #table_name execute some_stored_procedure; 그러나 저장 프로 시저의 결과는 지루한 작업이므로 정확한 구문을 가진 테이블을 만듭니다. 예를 들어 sp_helppublication 의 결과 에는 48 개의 열이 있습니다! 이 작업을 …

5
SQL Server CASE 문은 모든 조건을 평가하거나 첫 번째 TRUE 조건에서 종료됩니까?
SQL Server (특히 2008 또는 2012) CASE문은 모든 WHEN조건 WHEN을 평가합니까 아니면 true로 평가 되는 절을 찾으면 종료 됩니까? 전체 조건 집합을 통과하는 경우 true로 평가되는 마지막 조건이 true로 평가 된 첫 번째 조건이 덮어 쓴다는 의미입니까? 예를 들면 다음과 같습니다. SELECT CASE WHEN 1+1 = 2 THEN'YES' WHEN 1+1 …
44 sql-server  t-sql  case 

9
트랜잭션을 사용하지 말고 해결 방법을 사용하여 트랜잭션을 시뮬레이트하도록 요청
나는 몇 년 동안 T-SQL을 개발해 왔으며 항상 더 깊이 파고 들어 언어의 모든 측면에 대해 가능한 모든 것을 계속 배우고 있습니다. 나는 최근에 새로운 회사에서 일하기 시작했고 거래에 관한 이상한 제안을 받았다. 절대 사용하지 마십시오. 대신 트랜잭션을 시뮬레이트하는 임시 해결책을 사용하십시오. 이것은 많은 트랜잭션과 많은 블로킹으로 하나의 데이터베이스에서 작업하는 …

8
선택 결과를 CSV 파일에 쓰기
SELECT 쿼리 결과를 csv 파일에 작성해야합니다. SQL Server 2008 r2에서 T-SQL을 사용하여 어떻게 수행 할 수 있습니까? SSIS에서 수행 할 수 있다는 것을 알고 있지만 어떤 이유로 든이 옵션이 없습니다. 아래 기사에서 제안 된 proc을 사용하려고했지만 proc을 실행할 때 SQL 은이 proc에서 호출되는 sys.sp_OACreate 및 sys.sp_OADestroy를 실행할 수 없다고 불평합니다. …

1
GO 모든 T-SQL 문 이후
모든 SQL 문 다음에 GO 문을 사용하는 이유는 무엇입니까? GO는 일괄 처리의 끝을 알리고 / 또는 진술의 명성을 허용하지만 모든 진술 후에 그것을 사용하면 어떤 이점이 있습니까? 모든 진술 후에 많은 Microsoft 문서 등이 그것을 사용하기 시작했거나 방금 주목하기 시작했을 때 궁금합니다. 가장 좋은 방법은 무엇입니까?

3
카운트와 총계?
제목에서 알 수 있듯이 T-SQL에서 누적 합계를 얻는 데 도움이 필요합니다. 문제는 내가해야 할 합계가 카운트의 합계라는 것입니다. sum(count (distinct (customers))) 카운트를 단독으로 실행하면 결과는 다음과 같습니다. Day | CountCustomers ---------------------- 5/1 | 1 5/2 | 0 5/3 | 5 합계가있는 출력이 필요합니다. Day | RunningTotalCustomers ---------------------- 5/1 | 1 …
34 sql-server  t-sql 


7
SQL Server 데이터베이스가 여전히 사용되고 있는지 어떻게 알 수 있습니까?
몇 개의 데이터베이스가 여전히 남아있는 SQL Server 인스턴스를 제거하려고합니다. 사용자 나 웹 응용 프로그램에서 여전히 사용 중인지 어떻게 알 수 있습니까? 마지막 쿼리 날짜를 검색하기 위해 실행할 수있는 T-SQL 쿼리가 있는 포럼 스레드 를 찾았습니다 . 작동하는 것 같지만이 정보가 데이터베이스를 삭제하기에 충분한 지 알고 싶습니다. 그렇습니까? 도움이되는 대체 방법이 …
33 sql-server  t-sql 

5
논리 연산자 OR AND WHERE의 조건 및 조건 순서
이 두 문장을 살펴 보자. IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... 경우 CONDITION 1IS TRUE, 것입니다 CONDITION 2확인? 경우 CONDITION 3IS FALSE, 것입니다 CONDITION 4확인? 무엇에 조건에 대한 WHERE: A의 수행하는 SQL Server 엔진의 최적화 모든 조건 WHERE절? 프로그래머 가 SQL Server …

1
명령문 실행 속도가 네트워크 연결에 의존하는 이유는 무엇입니까?
T-SQL 실행 속도는 서버에 대한 네트워크 연결 대기 시간에 달려 있습니다. SQL Server에 대해 클라이언트에 다시보고 할 내용이 없으면 완료 될 때까지 실행되지만 테스트는 다른 이야기를 보여줍니다. create procedure UselessLoop @I int as declare @D datetime = getdate() while @I > 0 set @I -= 1 print datediff(millisecond, @D, getdate()) …
31 sql-server  t-sql 

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