반응형

SQL-Server 21

SQL Server 잘라내기 및 8192 제한

SQL Server 잘라내기 및 8192 제한 SQL Server 2005에서 텍스트 데이터가 8192를 초과하는 일부 행이 있는 varchar(MAX) 열을 쿼리하려고 합니다.그러나 Management Studio의 Tools --> Options --> Query Results --> Results to Text --> 각 열에 표시되는 최대 문자 수 = 8192(최대)입니다.따라서 이러한 행의 절단은 텍스트 출력에 의해 부과되는 제한 때문에 발생하는 것으로 보입니다. 이 문제를 해결할 수 있는 유일한 방법은 SUBSTRING 기능을 사용하여 처음 8,000자, 다음 8,000자 등을 잡는 것입니다.하지만 이것은 보기 흉하고 오류가 발생하기 쉽습니다. SSIS와 BCP는 나에게 선택사항이 아니라는 것..

programing 2023.09.03

WHERE 절은 IN과 JOIN 이전 또는 이후에 더 잘 실행됩니다.

WHERE 절은 IN과 JOIN 이전 또는 이후에 더 잘 실행됩니다. 이 기사를 읽었습니다.SELECT 문의 논리적 처리 순서 기사의 끝 부분은 WHERE에 작성되었으며 JOIN 조항은 WHERE 이전에 고려해야 합니다. 1,000만 개의 레코드가 있는 마스터 테이블과 5,000만 개의 레코드가 있는 상세 테이블(마스터 테이블(FK) 참조)이 있다고 가정해 보겠습니다.마스터 테이블의 PK에 따라 100개의 세부 테이블 레코드만 원하는 쿼리가 있습니다. 이 상황에서 WHERE 전에 ON 및 JOIN 실행?가입 후 5억 개의 레코드를 보유하고 있으며 어디에 적용할 수 있습니까? 아니면 먼저 신청한 후 가입하고 고려할 수 있습니까?두 번째 답변이 사실이라면 상위 기사와 일치하지 않습니까? 감사해요.내부 조인 ..

programing 2023.08.29

여러 저장 프로시저의 결과 연합

여러 저장 프로시저의 결과 연합 저장 프로시저가 있습니다. 매번 다른 매개 변수를 사용하여 여러 번 호출해야 합니다.결과를 단일 데이터 세트로 수집하고 싶습니다.이런 일이 가능할까요? exec MyStoredProcedure 1 UNION exec MyStoredProcedure 2 UNION exec MyStoredProcedure 3 위 구문을 사용하려고 했지만 오류가 발생했습니다... Incorrect syntax near the keyword 'UNION' 제가 다루고 있는 저장 프로시저는 상당히 복잡하고 일종의 "블랙박스"이기 때문에 저장 프로시저의 정의에 들어가 아무것도 변경할 수 없습니다.결과를 모으는 방법에 대한 제안이 있습니까? SQL Server 2008 R2를 사용하고 있습니다.도와주..

programing 2023.08.04

where 절의 날짜/시간

where 절의 날짜/시간 다음에서 12/20/2008을 선택하려면 어떻게 해야 합니까?wheresql의 절? 서버는 SQL server 2005입니다. select * from tblErrorLog where errorDate = '12/20/2008' WHERE datetime_column >= '20081220 00:00:00.000' AND datetime_column < '20081221 00:00:00.000' 우선 날짜/시간에 대해 ISO-8601 표준 형식을 사용하는 것이 좋습니다. SQL Server의 언어 및 지역 설정에 상관없이 작동합니다.ISO-8601은YYYYMMDD형식 - 공백 없음, 대시 없음 - 데이터만: select * from tblErrorLog where errorDa..

programing 2023.07.20

SQL Server에서 작은 따옴표 바꾸기

SQL Server에서 작은 따옴표 바꾸기 SQL Server에서 단일 따옴표를 대체하는 이 기능이 있습니다. 그러나 하나의 인용문을 삽입하면 오류가 발생합니다.Replace(@strip,''','')): Create Function [dbo].[fn_stripsingleQuote] (@strStrip varchar(Max)) returns varchar as begin declare @CleanString varchar(Max) SET @var=(Replace(@strip,'','')) return @var end 다음과 같이 단일 따옴표를 두 배로 묶어야 합니다. REPLACE(@strip, '''', '') 해라REPLACE(@strip,'''','') SQL따옴표 두 개를 사용하여 문자열에서 하나..

programing 2023.07.15

"Table'dbo"를 해결하려면 어떻게 해야 합니까?Foo'가 이미 존재합니다." 테이블이 존재하지 않을 때 오류가 발생합니까?

"Table'dbo"를 해결하려면 어떻게 해야 합니까?Foo'가 이미 존재합니다." 테이블이 존재하지 않을 때 오류가 발생합니까? 테이블을 만든 다음 실수를 발견했습니다. SSMS에서 테이블을 다시 만들지 않고 업데이트할 수 없도록 했기 때문에 테이블을 삭제하고 다시 만들었습니다. 이 작업을 수행할 수 없으며 오류 대화 상자가 표시됩니다. 테이블 '디보'dbo.Foo'가 이미 존재합니다. 그래서 다시 삭제하려고 합니다. drop table dbo.Foo 테이블 'dbo를 삭제할 수 없습니다.Foo'는 존재하지 않거나 권한이 없기 때문입니다. IntelliSense 캐시를 새로 고치는 것은 도움이 되지 않습니다.SSMS를 닫고 다시 시작하는 것이 오류를 제거하는 유일한 방법인 것 같습니다.그런 다음 다시 ..

programing 2023.07.10

저장 프로시저에서 목록을 매개 변수로 전달하려면 어떻게 해야 합니까?

저장 프로시저에서 목록을 매개 변수로 전달하려면 어떻게 해야 합니까? 목록 이름을 반환할 사용자 ID 목록을 전달하려고 합니다.출력된 이름(COALESCE 등)을 처리할 계획이 있지만 사용자 ID 목록을 전달하는 가장 좋은 방법을 찾고 있습니다.내 프로시저의 내장은 다음과 같이 보일 것입니다. create procedure [dbo].[get_user_names] @user_id_list, --which would equal a list of incoming ID numbers like (5,44,72,81,126) @username varchar (30) output as select last_name+', '+first_name from user_mstr where user_id in @user_id..

programing 2023.07.10

SQL Server 데이터베이스에 auto_increment 기본 키를 추가하려면 어떻게 해야 합니까?

SQL Server 데이터베이스에 auto_increment 기본 키를 추가하려면 어떻게 해야 합니까? 현재 기본 키가 없는 테이블을 설정했습니다.제가 해야 할 일은 다음과 같습니다.primary key, no null, auto_increment. 저는 같이 일하고 있습니다.Microsoft SQL Server데이터베이스단일 명령으로 수행할 수 없다는 것은 이해하지만 시도하는 모든 명령은 구문 오류를 계속 반환합니다. ----------------------- 편집 기본 키를 생성하고 null이 아닌 것으로 설정했습니다.그러나 설정할 수 없습니다.auto_increment. 시도해 봤습니다. ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment AL..

programing 2023.07.05

SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하는 방법은 무엇입니까?

SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하는 방법은 무엇입니까? 내가 이름이 어떤 데이터베이스를 가지고 있다고 가정합니다.testdb테스트 서버에 있습니다.저는 prod 서버에 proddb라는 데이터베이스도 가지고 있습니다. 이제 proddb 데이터베이스에서 testdb 데이터베이스 테이블의 데이터를 선택하려고 합니다. 어떻게 하면 좋을까요? 또한 오라클의 데이터베이스 링크를 사용하여 할 수 있습니다.그러나 SQL Server에서 어떻게 이러한 작업을 수행할 수 있습니까?sp_addlinked server()가 필요합니다. http://msdn.microsoft.com/en-us/library/ms190479.aspx 예: exec sp_addlinkedserver @server..

programing 2023.06.30
반응형