sql-server 18

SQL 저장 프로시저에 목록 전달 <>

SQL 저장 프로시저에 목록 전달 데이터베이스의 특정 레코드에 여러 항목을 로드해야 하는 경우가 많았습니다.예를 들어, 웹 페이지에는 단일 보고서에 대해 포함할 항목이 표시됩니다. 모든 항목은 데이터베이스에 있는 레코드입니다(보고서는 보고서 테이블의 레코드이고 항목은 항목 테이블의 레코드입니다).사용자가 웹 앱을 통해 단일 보고서에 포함할 항목을 선택하고 있으며, 3개 항목을 선택하여 제출한다고 가정합니다.이 프로세스는 ReportItems(ReportId,ItemId)라는 테이블에 레코드를 추가하여 이 세 가지 항목을 이 보고서에 추가합니다. 현재 코드에서 다음과 같은 작업을 수행합니다. public void AddItemsToReport(string connStr, int Id, List itemLi..

programing 2023.08.22

SQL Server 2008 Express 데이터베이스에 모든 쿼리를 로깅하시겠습니까?

SQL Server 2008 Express 데이터베이스에 모든 쿼리를 로깅하시겠습니까? SQL Server 2008 Express에서 모든 쿼리(각 및 모든 SELECT Query! 포함)를 파일에 기록하도록 지시하는 방법이 있습니까? 개발 기계이기 때문에 Select-Query 로깅으로 인한 부정적인 부작용은 문제가 되지 않습니다. SQL Profiler 사용을 제안하기 전에 다음을 수행합니다.Express에서는 사용할 수 없으며(Web Edition에서 사용할 수 있는지 아는 사람이 있습니까?) 부재 중에도 쿼리를 기록할 수 있는 방법을 찾고 있습니다.SQL Server 프로파일러: 파일 → 새 추적 일반 탭이 표시됩니다. 여기서 "파일에 저장:"을 선택하여 파일에 기록할 수 있습니다. 이벤트 선택 ..

programing 2023.07.18

CAST를 사용할 때 VARCHAR의 기본 길이가 30인 이유는 무엇입니까?

CAST를 사용할 때 VARCHAR의 기본 길이가 30인 이유는 무엇입니까? SQL Server 2005에서 이 쿼리는 select len(cast('the quick brown fox jumped over the lazy dog' as varchar)) 제공된 문자열의 문자 수가 더 많은 반면 길이로 30을 반환합니다.이것이 기본값인 것 같습니다.왜 32나 다른 2의 거듭제곱이 아닌 30일까요? [편집] 바샤르에 캐스팅할 때 항상 길이를 지정해야 한다는 것을 알고 있지만, 이것은 빠른 확인 질문이었습니다.질문이 남아있는데, 왜 30개죠?바하 길이를 지정하는 것이 어떻습니까?i: SELECT CAST('the quick brown fox jumped over the lazy dog' AS VARCHAR(..

programing 2023.07.13

T-SQL 스로우 예외

T-SQL 스로우 예외 사용하는 동안 유명한 '잘못된 구문'에 직면했습니다.THROWT-SQL 저장 프로시저의 문입니다.저는 그것을 구글에 검색하고 StackOverflow에 대한 질문을 확인했지만 제안된 솔루션(이상하게 받아들여진 솔루션)은 저에게 효과가 없습니다. 저장 프로시저를 다음과 같이 수정합니다. ALTER PROCEDURE [dbo].[CONVERT_Q_TO_O] @Q_ID int = NULL, @IDENTITY INT = NULL OUTPUT AS BEGIN SET NOCOUNT ON; DECLARE @EXISTING_RECORD_COUNT [int]; SELECT @EXISTING_RECORD_COUNT = COUNT (*) FROM [dbo].[O] WHERE [Q_ID] = @Q_ID..

programing 2023.07.13

SQL Server에 저장된 프로시저의 마지막 실행 날짜

SQL Server에 저장된 프로시저의 마지막 실행 날짜 애플리케이션에 저장 프로시저가 많이 나오기 시작했습니다.대부분은 더 이상 사용되지 않는 사용자 정의 리포트용입니다.저장 프로시저가 실행된 마지막 날짜를 알려주는 SQL Server 2005의 시스템 뷰에 대해 실행할 수 있는 쿼리를 아는 사람이 있습니까?아래 코드가 트릭을 수행해야 합니다(>= 2008). SELECT o.name, ps.last_execution_time FROM sys.dm_exec_procedure_stats ps INNER JOIN sys.objects o ON ps.object_id = o.object_id WHERE DB_NAME(ps.database_id) = '' ORDER BY ps.last_execution_tim..

programing 2023.07.08

열이 null인지 확인하기 위한 쿼리

열이 null인지 확인하기 위한 쿼리 열이 null인지 여부(열에 null 값이 허용되는지 여부)를 확인하기 위한 쿼리입니다.가능하면 yes/no 또는 1/0 또는 true/false를 반환해야 합니다.에서 검색할 수 있습니다.sys.columns: select is_nullable from sys.columns where object_id = object_id('Schema.TheTable') and name = 'TheColumn' 및 메타데이터 기능도 사용할 수 있습니다. SELECT COLUMNPROPERTY(OBJECT_ID('SchemaName.TableName', 'U'), 'ColumnName', 'AllowsNull'); 테이블의 모든 열에서 'nullable' 속성 또는 원하는 다른 속..

programing 2023.07.08

SQL Server 스키마 이름 바꾸기

SQL Server 스키마 이름 바꾸기 SQL Server를 사용하여 스키마의 이름을 변경하려면 어떻게 해야 합니까? 스키마에 개체 수가 많은 경우 이와 같은 방법을 사용하여 모든 변경 사항을 자동으로 생성할 수 있습니다(테이블 및 보기만 수행하므로 실행하기 전에 SP, UDF 등으로 확장해야 할 수도 있습니다). USE SandBox DECLARE @OldSchema AS varchar(255) DECLARE @NewSchema AS varchar(255) DECLARE @newLine AS varchar(2) = CHAR(13) + CHAR(10) SET @OldSchema = 'dbo' SET @NewSchema = 'StackOverflow' DECLARE @sql AS varchar(MAX) S..

programing 2023.07.08

주문 기준 조항에 대한 명세서를 작성한 경우

주문 기준 조항에 대한 명세서를 작성한 경우 SQL Server 2008 R2를 사용하고 있습니다. 테이블의 레코드에 대한 우선 순위 기준 정렬을 원합니다. 그래서 나는 CASE WHEN 문구를 ORDER BY 절에 사용하고 있습니다.ORDER BY 절은 다음과 같습니다. ORDER BY CASE WHEN TblList.PinRequestCount 0 THEN TblList.PinRequestCount desc, TblList.LastName ASC, TblList.FirstName ASC, TblList.MiddleName ASC END, CASE WHEN TblList.HighCallAlertCount 0 THEN TblList.HighCallAlertCount desc, TblList.LastNam..

programing 2023.07.03

함수에서 저장 프로시저 실행

함수에서 저장 프로시저 실행 이 문제가 해결되지 않은 것으로 알고 있으며 SQL Server에서 이 문제를 해결하지 못하는 이유도 알고 있습니다. 그러나 확장 저장 프로시저를 사용하는 것 외에 이에 대한 해결 방법이 있습니까? 그리고 제발 제 기능을 수술로 바꾸라고 하지 마세요... 그래서 제가 정말로 묻고 싶은 것은: 함수 내에서 저장 프로시저를 실행할 수 있는 방법이 있는가 하는 것입니다. 편집: 증명된 요점: 그것을 피할 방법이 있지만, 그것은 너무 잘못되어 나는 그것을 하지 않을 것입니다.저장 프로시저로 변경하여 다른 곳에서 실행할 것입니다.편집: 저는 이것을 먹어본 적이 없어서 장담할 수 없습니다!그리고 당신은 이미 이런 짓을 해서는 안 된다는 것을 알고 있으니 제발 하지 마세요. 하지만... ..

programing 2023.07.03

매개 변수를 SQL Command로 전달하는 가장 좋은 방법은 무엇입니까?

매개 변수를 SQL Command로 전달하는 가장 좋은 방법은 무엇입니까? 매개 변수를 SQL Command로 전달하는 가장 좋은 방법은 무엇입니까?할 수 있는 일: cmd.Parameters.Add("@Name", SqlDbType.VarChar, 20).Value = "Bob"; 또는 cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = "Bob"; 또는 cmd.Parameters.Add("@Name").Value = "Bob"; 첫 번째는 성능 측면에서 또는 오류 검사 측면에서 "더 나은" 것 같습니다.하지만 저는 더 확실하게 알고 싶습니다.저 안에서 무슨 일이 일어나고 있습니까? 여러 오버로드에 대한 매개 변수 목록을 인용합니다.Add다음은 생성자 오버..

programing 2023.07.03