반응형

sql-server 26

SQL Server 2008에서 테이블 설계를 변경할 수 없음

SQL Server 2008에서 테이블 설계를 변경할 수 없음 테이블을 만들었습니다.tbl_Candidate, 하지만 제가 기본 키를 테이블에 설정하는 것을 잊어버려서 기본 키 없이 저장해 두었습니다. 다음에 SQL Server 2008 Express에서 기본 키를 설정할 때 기본 키가 변경된 테이블을 저장할 때 테이블을 삭제하고 재생성하라는 메시지가 나타납니다. 테이블에 변경사항을 저장하려고 할 때 나타나는 메시지입니다. 변경 내용을 저장할 수 없습니다.변경한 내용을 변경하려면 다음 표를 삭제하고 다시 만들어야 합니다.재생성할 수 없는 테이블을 변경했거나 테이블을 재생성해야 하는 변경 내용을 저장하지 못하도록 옵션을 사용 가능으로 설정한 경우 Windows 인증, 데이터베이스 엔진으로 서버 유형, 서버..

programing 2023.10.25

현재 날짜에 일을 추가하는 방법은 무엇입니까?

현재 날짜에 일을 추가하는 방법은 무엇입니까? 현재 날짜에 일을 추가하려고 하는데 정상적으로 작동하지만 360일을 현재 날짜에 추가하면 잘못된 값이 표시됩니다. 예: 현재 날짜는 2014년 11월 4일입니다. 그리고 360일을 추가합니다. 2015년 11월 4일이 주어져야 하는데, 2014년 11월 4일과 같은 날짜가 표시됩니다. 연도는 변경되지 않습니다. 내 코드는 다음과 같습니다. select dateadd(dd,360,getdate()) 그냥... Select (Getdate()+360) As MyDate 지정된 날짜에서 일을 더하거나 빼는 데 date add 기능을 사용할 필요가 없습니다.년, 월, 시간을 추가하려면 날짜 추가 기능이 필요합니다.select dateadd(dd,360,getdate..

programing 2023.08.16

SQL Server 2016, 잘못된 개체 이름 'STRING_SPLIT'

SQL Server 2016, 잘못된 개체 이름 'STRING_SPLIT' SQL Server 2016에서 STRING_SPLIT 함수와 함께 이 오류가 발생함 SELECT * FROM STRING_SPLIT('a,b,c',',') 오류: 개체 이름 'STRING_SPLIT'이(가) 잘못되었습니다. 데이터베이스 호환성 수준이 130인지 확인합니다. 다음 조회를 사용하여 변경할 수 있습니다. ALTER DATABASE [DatabaseName] SET COMPATIBILITY_LEVEL = 130 설명에 언급된 대로 다음 명령을 사용하여 데이터베이스의 현재 호환성 수준을 확인할 수 있습니다. SELECT compatibility_level FROM sys.databases WHERE name = 'Your..

programing 2023.08.16

저장 프로시저의 실행 계획을 표시하려면 어떻게 해야 합니까?

저장 프로시저의 실행 계획을 표시하려면 어떻게 해야 합니까? 쿼리에 대한 예상 실행 계획(Management Studio 9.0)을 문제 없이 볼 수 있지만 저장 프로시저와 관련하여 ALTER 화면에서 코드를 복사하여 쿼리 창에 붙여넣지 않고는 이를 수행하는 쉬운 방법을 찾을 수 없습니다. 그렇지 않으면 ALTER에 대한 계획이 표시되고 절차가 표시되지 않습니다.이 작업을 수행한 후에도 입력 정보가 누락되어 있으므로 이를 신고해야 합니다. 저장 프로시저에서 이 작업을 더 쉽게 수행할 수 있는 방법이 있습니까? 편집: 저는 방금 효과가 있을 수 있는 것을 생각했지만 잘 모르겠습니다. 예상 실행 계획을 실행할 수 있습니까? exec myStoredProc 234 SET SHOWPLAN_ALL ON GO --..

programing 2023.08.11

비트 열에 SUM을 사용하려면 어떻게 해야 합니까?

비트 열에 SUM을 사용하려면 어떻게 해야 합니까? T-SQL의 비트 열에 SUM() 함수를 어떻게 사용할 수 있습니까? 다음과 같이 시도할 때: SELECT SUM(bitColumn) FROM MyTable; 오류가 발생했습니다. 합계 연산자에 대한 피연산자 데이터 유형 비트가 잘못되었습니다. SELECT SUM(CAST(bitColumn AS INT)) FROM dbo.MyTable 수를 늘릴 필요가 있는 아니면 다른 해결책 - SELECT COUNT(*) FROM dbo.MyTable WHERE bitColumn = 1 SELECT SUM(bitColumn * 1) FROM dbo.MyTable 비트를 곱셈을 통해 깨끗하고 단순한 int로 변환합니다.0을 null로 간주하고 나머지 값만 계산할 수 ..

programing 2023.08.06

Contains()를 사용할 때 2100 매개 변수 제한(SQL Server)을 초과하는 경우

Contains()를 사용할 때 2100 매개 변수 제한(SQL Server)을 초과하는 경우 from f in CUSTOMERS where depts.Contains(f.DEPT_ID) select f.NAME depts목록입니다(IEnumerable부서 ID의 ) 이 쿼리는 큰 목록(예: 약 3000개의 디프티 ID)을 통과할 때까지 잘 작동합니다.그러면 다음 오류가 발생합니다. 수신 TDS(Table Data Stream) 원격 프로시저 호출(RPC) 프로토콜 스트림이 잘못되었습니다.이 RPC 요청에 너무 많은 매개 변수가 제공되었습니다.최대 2100입니다. 쿼리를 다음으로 변경했습니다. var dept_ids = string.Join(" ", depts.ToStringArray()); from f..

programing 2023.07.12

테이블을 매개 변수로 sql 서버 UDF로 전달

테이블을 매개 변수로 sql 서버 UDF로 전달 테이블을 파라미터로 Scaler UDF에 전달하고 싶습니다. 또한 매개 변수를 열이 하나만 있는 테이블로 제한하는 것이 좋습니다.(선택 사항) 이것이 가능합니까? 편집 테이블 이름을 전달하는 것이 아니라 데이터 테이블을 전달하고 싶습니다(참고로). 편집 Scaler UDF에서 기본적으로 값 표를 작성하고 행의 CSV 목록을 반환해야 합니다. IE col1 "My First Value" "My Second Value" ... "My nth Value" 돌아올 것입니다 "My First Value, My Second Value,... My nth Value" 테이블에 대한 필터링을 수행하여 null이 없는지, 중복이 없는지 확인합니다.저는 다음과 같은 것을 기..

programing 2023.07.07

ANSI JOIN 쿼리와 비 ANSI JOIN 쿼리의 성능이 다릅니까?

ANSI JOIN 쿼리와 비 ANSI JOIN 쿼리의 성능이 다릅니까? T-SQL 저장 프로시저의 비즈니스 로직을 7000줄까지 보유하고 있으며, 대부분은 다음과 같은 JOIN 구문을 가지고 있습니다. SELECT A.A, B.B, C.C FROM aaa AS A, bbb AS B, ccc AS C WHERE A.B = B.ID AND B.C = C.ID AND C.ID = @param 이러한 쿼리를 다음과 같이 대체하면 성능이 향상됩니까? SELECT A.A, B.B, C.C FROM aaa AS A JOIN bbb AS B ON A.B = B.ID JOIN ccc AS C ON B.C = C.ID AND C.ID = @param 아니면 그들이 같습니까?두 쿼리는 동일하지만 두 번째는 ANSI-92 S..

programing 2023.07.02

열 필드에 대한 두 행 간의 차이를 얻는 방법은 무엇입니까?

열 필드에 대한 두 행 간의 차이를 얻는 방법은 무엇입니까? 다음과 같은 테이블이 있습니다. rowInt Value 2 23 3 45 17 10 9 0 .... 열 rowInt 값은 정수이지만 증분이 같은 순서가 아닙니다.다음 SQL을 사용하여 행별로 값을 나열할 수 있습니다.내부: SELECT * FROM myTable ORDER BY rowInt; 행 Int별로 값이 나열됩니다.다음과 같은 결과로 두 행 사이의 값 차이를 가져올 수 있는 방법은 무엇입니까? rowInt Value Diff 2 23 22 --45-23 3 45 -35 --10-45 9 0 -45 --0-45 17 10 10 -- 10-0 .... 표는 SQL 2005(Microsoft)에 있습니다.SELECT [current].rowI..

programing 2023.07.02

SQL # 기호는 무엇을 의미하며 어떻게 사용됩니까?

SQL # 기호는 무엇을 의미하며 어떻게 사용됩니까? MS SQL 코드에서 기호가 무엇을 의미하는지 누가 설명해 줄 수 있습니까? 구글링도 해보고 StackOverflow 검색도 해봤지만 답을 찾지 못하는 것 같습니다. 저는 바보처럼 느껴집니다 - "그런" 날들 중 하나를 가지고 있습니다.제발 도와주세요.일반적으로 임시 테이블 앞에 접두사를 붙입니다. 문서에서... 로컬 임시 테이블 이름 앞에 단일 번호 기호(#table_name)를 붙이고 글로벌 임시 테이블 이름 앞에 이중 번호 기호(#table_name)를 붙입니다. 파운드 기호#임시 테이블 및 프로시저의 접두사를 지정하는 데 사용됩니다.단일 인스턴스(#)는 더블 인스턴스() 동안 현재 세션과 함께 생존/사멸하는 임시 개체를 말합니다.##)은 글로벌..

programing 2023.06.27
반응형