«t-sql» 태그된 질문

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

4
TSQL에서 테이블 작성 스크립트를 생성하는 방법이 있습니까?
T-SQL에서만 기존 테이블에서 작성 스크립트를 생성하는 방법이 있습니까 (T-SQL에는 SMO에 대한 액세스 권한이 없으므로 SMO를 사용하지 않음). 테이블 이름을 받고 주어진 테이블에 대한 작성 스크립트가 포함 된 문자열을 반환하는 저장 프로 시저를 가정 해 봅시다. 이제 다른 방법으로 접근 할 수 있으므로 내가 직면하고있는 상황을 설명하겠습니다. 수십 개의 데이터베이스가있는 인스턴스가 …

4
결과를 처음 2 개의 순위 행으로 제한
SQL Server 2008에서는 RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)로 데이터 세트를 반환하는 데 사용하고 RANK있습니다. 그러나 각 파티션마다 수백 개의 레코드가 있으므로 순위 1, 2, 3 ...... 999에서 값을 가져옵니다. 하지만 RANKs각각 최대 2 개만 원합니다 PARTITION. 예: ID Name Score Subject 1 Joe 100 Math 2 …

6
SQL Server 주입-26 자 정도의 피해는 얼마입니까?
SQL Server 데이터베이스에 대한 주입 공격에 대한 복원력을 테스트하고 있습니다. db의 모든 테이블 이름은 소문자이며 데이터 정렬은 대소 문자를 구분합니다 ( Latin1_General_CS_AS) . 보낼 수있는 문자열은 대문자 여야하며 최대 26 자까지 가능합니다. 따라서 테이블 이름이 대문자이므로 데이터 정렬로 인해 명령문이 실패하기 때문에 DROP TABLE을 보낼 수 없습니다. 그래서-26 자로 할 …

1
모든 트리거에 SET NOCOUNT ON을 추가해야합니까?
당신이 가지고 있어야한다는 것은 매우 일반적인 지식입니다 SET NOCOUNT ON 새 저장 프로 시저를 만들 때 기본적으로 Microsoft는 2012 년에이를 포함하도록 기본 템플릿을 변경했습니다. 트리거와 동일해야하지만 템플릿에는 포함되지 않았다고 생각했습니다. 이것은 고의적 인 것인가 아니면 단순한 감독입니까?

2
모든 레코드를 선택하고 결합이 존재하면 테이블 A와 결합하고, 존재하지 않으면 테이블 B
내 시나리오는 다음과 같습니다. 나는 내 프로젝트를 위해 지역화 작업을하고 있으며 일반적으로 C # 코드 에서이 작업을 수행하려고하지만 SQL을 조금 강화하려고하기 때문에 SQL 에서이 작업을 조금 더하고 싶습니다. 환경 : SQL Server 2014 Standard, C # (. NET 4.5.1) 참고 : 프로그래밍 언어 자체는 관련이 없어야합니다. 완전성을 위해 포함시켜야합니다. 그래서 …

4
HashBytes 함수에서 올바른 알고리즘 선택
비교 목적으로 nvarchar 데이터의 해시 값을 만들어야합니다. T-SQL에는 여러 가지 해시 알고리즘이 있지만이 시나리오에서 가장 적합한 알고리즘은 무엇입니까? 두 개의 다른 nvarchar 값에 대해 중복 해시 값을 가질 위험이 최소가되도록하려고합니다. 인터넷에 대한 나의 연구에 따르면 MD5가 가장 좋습니다. 맞습니까? MSDN은 사용 가능한 알고리즘에 대해 알려주지 만 (아래 링크 참조) 어떤 …

6
SQL Server가 일반적인 해결 방법이 아닌 경우 GREATEST 및 LEAST를 지원합니까?
이 질문을 검토 하면 필요하지 않은 많은 작업이있는 것 같습니다. 그들은 날짜로 범위를 확장하려고합니다. 다른 데이터베이스에서는 greatestand least.. least(extendDate,min), greatest(extendDate,max) 그래도 이것을 사용하려고하면 'least' is not a recognized built-in function name. 'greatest' is not a recognized built-in function name. 그것은 어느 방향 으로든 확장을 커버 할 것입니다. 질문의 목적 상 …

3
선택에서 여전히 추가 문자가 일치하는 고유 식별자
우리는 고유 식별자와 함께 SQL Server 2012를 사용하고 있으며 추가 문자를 추가하여 선택하면 36 문자가 아닌 UUID와 일치하는 결과를 반환합니다. 예를 들면 다음과 같습니다. select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8' uuid가있는 행을 반환합니다 7DA26ECB-D599-4469-91D4-F9136EC0B4E8. 그러나 당신이 실행하면 : select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS' 또한 uuid가있는 …


5
CTE 결과를 캐시 (게으른 스풀)하기위한 계획 지침 작성
일반적으로 올바른 계획을 사용하는 쿼리를 먼저 구성하고 그렇지 않은 유사한 쿼리에 복사하여 계획 지침을 만듭니다. 그러나 특히 쿼리가 정확히 동일하지 않은 경우 때때로 까다로울 수 있습니다. 계획 지침을 처음부터 작성하는 올바른 방법은 무엇입니까? SQLKiwi는 SSIS에서 계획을 세우는 것에 대해 언급했습니다. SQL Server에 대한 올바른 계획을 세우는 데 도움이되는 방법이나 유용한 …
19 sql-server  t-sql  cte 


2
기본 제약, 그만한 가치가 있습니까?
나는 보통 다음 규칙에 따라 데이터베이스를 설계합니다. db_owner 및 sysadmin 이외의 다른 사람은 데이터베이스 테이블에 액세스 할 수 없습니다. 사용자 역할은 응용 프로그램 계층에서 제어됩니다. 일반적으로 하나의 db 역할을 사용하여 뷰, 저장 프로 시저 및 함수에 대한 액세스 권한을 부여하지만 경우에 따라 일부 저장 프로 시저를 보호하기 위해 두 번째 …

2
'SELECT TOP'성능 질문
select top 100를 사용하면 훨씬 더 빠르게 실행 하고을 사용하지 않으면 훨씬 느리게 실행되는 쿼리가 top 100있습니다. 반환 된 레코드 수는 0입니다. 쿼리 계획의 차이점을 설명하거나 이러한 차이점이 설명 된 링크를 공유 할 수 있습니까? top텍스트가 없는 쿼리 : SELECT --TOP 100 * FROM InventTrans JOIN InventDim ON InventDim.DATAAREAID = …

4
내가 상상하는 것처럼 T-SQL에서 변수를 사용할 수없는 이유는 무엇입니까?
용서하십시오, 저는 SQL의 세계로 옮긴 개발자입니다. 변수를 추가하여 SQL을 향상시킬 수 있다고 생각했지만 예상대로 작동하지 않았습니다. 왜 이것이 작동하지 않는지 말해 줄 수 있습니까? 나는 해결책을 원하지 않고, 나는 그것이 좋은 이유가 있다고 확신 할 때 상상 해야하는 것처럼 작동하지 않는 이유를 알고 싶다. 그러나 현재 나에게 튀어 오르지 않는다. …

2
수백만 행에 대한 사용자 정의 가능한 정렬을 통한 페이징 성능
우리의 응용 프로그램에는 사용자가 많은 레코드 (10 ~ 2 천만)를 넘길 수있는 그리드가 있습니다. 그리드는 여러 열 (20+)에서 오름차순 및 내림차순 정렬을 지원합니다. 많은 값도 고유하지 않으므로 애플리케이션은 ID를 타이 브레이커로 정렬하여 행이 항상 같은 페이지에 표시되도록합니다. 예를 들어, 사용자가 위젯 크기별로 정렬하려는 경우 (가장 큰 것부터 시작) 응용 프로그램은 …

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