sql-server 15

잘못된 사용 부작용 연산자 함수 내에 삽입

잘못된 사용 부작용 연산자 함수 내에 삽입 제 sql 함수에는 다음 코드가 있습니다. if @max_chi > -999 begin INSERT INTO CH_TABLE(X1, X2, VALUE) VALUES(cur_out.sessionnumber, maxpos, max_chi) commit end 다음은 SQL Server 2008 쿼리이며 오류가 발생합니다. 함수 내에서 부작용 연산자 'INSERT'를 잘못 사용했습니다. 왜 나는 이것을 할 수 없는 겁니까?이 문제를 해결하려면 어떻게 해야 합니까?기본 테이블에 데이터를 삽입하는 함수는 사용할 수 없습니다.함수는 데이터를 반환합니다.이는 설명서의 첫 번째 제한 사항으로 나열되어 있습니다. 데이터베이스 상태를 수정하는 작업을 수행하는 데 사용자 정의 함수..

programing 2023.10.01

트랜잭션 로그 없이 SQL 서버 DB 복원

트랜잭션 로그 없이 SQL 서버 DB 복원 SQL Server 2008 지정 .bak파일, 데이터 파일만 복원할 수 있는 방법이 있습니까?.bak파일, 트랜잭션 로그 없이? 제가 요청하는 이유는 이 데이터베이스의 트랜잭션 로그 파일 크기가 제가 쉽게 사용할 수 있는 디스크 공간을 초과하기 때문입니다. 저는 거래 기록에 관심이 없으며, 완료되지 않은 거래에도 관심이 없습니다.일반적으로 데이터베이스를 복원한 후에는 로그를 0으로 축소합니다.그러나 디스크 공간이 부족하여 로그를 생성할 수 없는 경우에는 도움이 되지 않습니다. Server에 입니다..bak트랜잭션 로그가 아닌 파일입니다.그렇게 할 수 있는 방법이 없을까요? 로 저는 참로나다세제수없다니습어의 할 수 ..bak파일 - 외부 소스에서 가져온 것입니다..

programing 2023.08.07

왼쪽 외부 조인에 대한 SQL 성능이 존재하지 않음

왼쪽 외부 조인에 대한 SQL 성능이 존재하지 않음 표 A에서 항목 집합을 찾지만 표 B에서는 찾을 수 없는 경우 왼쪽 외부 조인 또는 존재하지 않음을 사용할 수 있습니다.SQL Server는 ANSI를 지향하며 어떤 경우에는 LEFT OUTER JOIN이 존재하지 않는 것보다 훨씬 더 효율적이라고 들었습니다.이 경우 ANSI JOIN이 더 나은 성능을 발휘할 수 있을까요?조인 연산자가 SQL Server에 일반적으로 존재하지 않는 것보다 더 효율적입니까?Joe의 연결고리는 좋은 출발점입니다.Quassnoi는 이것도 다룹니다. 일반적으로 필드가 올바르게 인덱싱되었거나 더 많은 레코드를 필터링할 것으로 예상되는 경우(즉, 하위 쿼리에 행이 많음)NOT EXISTS더 나은 성능을 발휘할 것입니다. EXIST..

programing 2023.08.02

날짜별 주문 처음부터 마지막 날짜까지 NULL 표시

날짜별 주문 처음부터 마지막 날짜까지 NULL 표시 선택 문을 실행하는 저장 프로시저가 있습니다.결과를 날짜 필드별로 정렬하고 모든 레코드를 NULL 날짜로 먼저 표시한 다음 가장 최근 날짜로 표시합니다. 문은 다음과 같습니다. SELECT a,b,c,[Submission Date] FROM someView ORDER BY [Submission Date] ASC 이렇게 하면 NULL 제출 날짜가 포함된 모든 레코드가 먼저 표시되지만 날짜 값이 포함된 행에 도달하면 보기에서 가장 최근의 날짜가 아닙니다. ASC를 DESC로 바꾸면 원하는 순서대로 날짜가 나오지만 NULL 값은 결과 집합의 맨 아래에 있습니다. 맨 위에 null 값을 표시한 다음 날짜 값이 있을 때 가장 최근 값에서 가장 오래된 값으로 내림..

programing 2023.07.13

SQL LIKE 문에서 변수 사용

SQL LIKE 문에서 변수 사용 다음과 같은 LIKE 클로스에 대한 변수를 취할 저장 프로시저(MSSQL 2k5)가 있습니다. DECLARE @SearchLetter2 char(1) SET @SearchLetter = 't' SET @SearchLetter2 = @SearchLetter + '%' SELECT * FROM BrandNames WHERE [Name] LIKE @SearchLetter2 and IsVisible = 1 --WHERE [Name] LIKE 't%' and IsVisible = 1 ORDER BY [Name] 안타깝게도 현재 실행 중인 줄은 구문 오류를 발생시키는 반면 주석이 달린 where 절은 정상적으로 실행됩니다.아무도 언급하지 않은 라인이 작동하도록 도와줄 수 있나요?저..

programing 2023.07.13

SQL Server에서 RANK()를 사용하는 방법

SQL Server에서 RANK()를 사용하는 방법 SQL Server에서 사용하는 데 문제가 있습니다. 내 코드는 다음과 같습니다. SELECT contendernum, totals, RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank FROM ( SELECT ContenderNum, SUM(Criteria1+Criteria2+Criteria3+Criteria4) AS totals FROM Cat1GroupImpersonation GROUP BY ContenderNum ) AS a 해당 쿼리의 결과는 다음과 같습니다. contendernum totals xRank 1 196 1 2 181 1 3 192 1 4 181 1 5 179 ..

programing 2023.07.08

다른 SQL Server에 연결하기 위한 T-SQL 구문은 무엇입니까?

다른 SQL Server에 연결하기 위한 T-SQL 구문은 무엇입니까? 한 SQL Server에서 다른 SQL Server로 저장 프로시저(SP)를 복사해야 하는 경우 SSMS에서 SP를 마우스 오른쪽 버튼으로 클릭하고 Script Stored Procedure를 > CREATE to > New Query Editor Window로 선택합니다.그런 다음 해당 창을 마우스 오른쪽 버튼으로 클릭하고 Connection > Change Connection...(연결 변경...)을 선택하여 연결을 변경합니다.그런 다음 새 서버와 F5를 선택하여 새 서버에서 작성을 실행합니다. 그래서 제 질문은 "다른 SQL 서버에 연결하기 위한 T-SQL 구문은 무엇입니까?"입니다. 그러면 이 구문을 생성 스크립트의 맨 위에 ..

programing 2023.07.08

오늘 날짜와 결과를 비교하시겠습니까?

오늘 날짜와 결과를 비교하시겠습니까? 사용할 수 있는 방법이 있습니까?Now()SQL에서 오늘 날짜로 값을 선택할 수 있습니까? 나는 그런 인상을 받았습니다.Now()은 날짜뿐만아니시간포함오만지날늘시짜다간설다음정로니됩으이는하라도설▁set다▁to로 됩니다.00:00:00그래서 이것이 결코 일치하지 않을 것이라고 생각하십니까?좋아요, 제대로 해보죠.가능한 경우 인덱스를 사용하여 서로 다른 날짜/시간 유형이 모두 있는 오늘 일치하는 날짜를 선택합니다. 여기서의 원칙은 각각의 경우에 동일합니다.날짜 열이 가장 최근 자정 이후(오늘 시간 00:00:00), 다음 자정 이전(내일 시간 00:00:00)에 있는 행을 가져옵니다. 순수 날짜 유형의 경우 오늘 날짜와 간단한 비교를 수행할 수 있습니다. 에where아래의..

programing 2023.07.03

SQL Server 데이터베이스에서 모든 저장 프로시저를 한 번에 삭제하는 방법은 무엇입니까?

SQL Server 데이터베이스에서 모든 저장 프로시저를 한 번에 삭제하는 방법은 무엇입니까? 현재 스크립트 파일에 저장된 각 프로시저에 대해 별도의 드롭 문을 사용합니다. IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[MySP] 한 번에 다 떨어뜨릴 수 있는 방법이 있을까요, 아니면 순환해서 떨어뜨릴 수 있을까요?다음과 같은 방식으로 진행하고 싶습니다. 먼저 시스템 카탈로그 보기를 검사하여 삭제할 저장 프로시저 목록을 생성합니다. SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_..

programing 2023.07.03

일부 표에서 특정 열을 참조하는 모든 저장 프로시저 찾기

일부 표에서 특정 열을 참조하는 모든 저장 프로시저 찾기 테이블에 예기치 않게 변경된 값이 있습니다.문제의 칼럼은 다음과 같습니다.CreatedDate항목이 생성될 때 설정되지만 저장 프로시저에 의해 변경되고 있습니다. 제가 어떤 종류의 것을 쓸 수 있을까요?SELECT내 테이블에서 이 열을 참조하는 모든 프로시저 이름을 가져오시겠습니까?한 가지 옵션은 스크립트 파일을 만드는 것입니다. 데이터베이스 -> 작업 -> 스크립트 생성을 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 저장 프로시저를 모두 선택하고 모든 sp를 사용하여 스크립트를 생성할 수 있습니다.그래서 당신은 거기서 참조를 찾을 수 있습니다. 또는 -- Search in All Objects SELECT OBJECT_NAME(OBJECT_ID..

programing 2023.07.03