프로그래밍/MSSQL (76) 썸네일형 리스트형 [MSSQL] 로그인 등록/수정/삭제 (오류 암호의 유효성을 검사하지 못했습니다.) 로그인 등록/수정/삭제 로그인 등록 보안 > 로그인 > 새 로그인 OR 쿼리문 -- 로그인 등록 CREATE LOGIN ggmouse -- 로그인 이름 WITH PASSWORD = '1234' -- 암호 ,DEFAULT_DATABASE = tempdb -- 기본 데이터 베이스 ,CHECK_POLICY = ON -- 암호 정책 강제 적용 (기본값 ON) ,CHECK_EXPIRATION = OFF; -- 암호 만료 강제 적용 (기본값 OFF) 참고 암호의 유효성을 검사하지 못했습니다. 암호가 복잡하지 않기 때문에 Windows 정책 요구 사항에 맞지 않습니다. (오류: 15118) > 발생 시 해결 1. 암호를 복잡하게 설정 2. windows의 암호 정책 설정을 변경 3. CHECK_POLICY의 값을 O.. [MSSQL] SPLIT 문자열 구분자로 자르기 Split 함수 만들기 (문자열을 특정 구분자로 잘라보자) DECLARE @pString VARCHAR(8000) = '120.20.2212.142' -- 문자열 DECLARE @pDelimiter CHAR(1) = '.' -- 구분자 ;WITH E1(N) AS -- row 10 ( SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 ), E2(N) AS (SELECT 1 FROM E1 a, E1 b), -- row 100 E4(N) AS.. [MSSQL] TEXT 타입에 REPLACE 함수 적용 문자열 변경 함수 REPLACE를 TEXT 타입 칼럼에도 적용 REPLACE 함수는 다음과 같이 사용한다 SELECT REPLACE(COL1, '원래문자', '변경할문자') FROM TABLE_A 여기서 만약, COL1 컬럼의 타입이 TEXT 타입일 경우 아래와 같은 오류메세지를 반환할 것이다. 메시지 8116, 수준 16, 상태 1, 줄 34 replace 함수의 인수 1에 대한 인수 데이터 형식 text이(가) 잘못되었습니다. 해결 방법 SELECT REPLACE(CONVERT(VARCHAR(MAX),COL1), '원래문자', '변경할문자') FROM TABLE_A 데이터타입 변경 함수 CONVERT를 이용하여 COL1 칼럼을 VARCHAR 타입으로 변경 후 사용해준다. 예제 SELECT text_c.. [MSSQL] COLLATE/COLLATION 데이터 정렬 collation 데이터 정렬 데이터 정렬을 위한 데이터베이스 언어 셋 collation 리스트 및 옵션 설명 sys.fn_helpcollations를 통해 지원하는 collation 리스트를 볼 수 있다. SELECT * FROM sys.fn_helpcollations() CI/S, AI/S, KI/S, WI/S 설명 옵션 설명 예 CI 대/소문자 미구분 정렬 a = A CS 대/소문자 구분 정렬 (소문자 먼저 정렬) a ≠ A AI 악센트(성조) 미구분 정렬 a = ấ AS 악센트(성조) 구분 정렬 a ≠ ấ KI 히라가나 및 가타가나 미구분 정렬 あ = ア KS 히라가나 및 가타가나 구분 정렬 あ ≠ ア WI 전자와 반자 문자 미구분 정렬 WS 전자와 반자 문자 구분 정렬 collation 설정 확.. [MSSQL] 테이블 '#테이블명'이(가) 없거나 권한이 없어서 삭제할 수 없습니다. 테이블 '#테이블명'이(가) 없거나 권한이 없어서 삭제할 수 없습니다. 오류 해결 1. 임시 테이블 #TEMP1을 생성하고 쿼리 실행 후 마지막에 테이블을 반납하는 프로시저 A 생성 2. 프로시저B에서 프로시저 A를 호출하는 쿼리를 작성 => 오류 발생 테이블 '#TEMP1'이(가) 없거나 권한이 없어서 삭제할 수 없습니다. 프로시저 A에서 임시 테이블 #TEMP1을 반납하는 부분에서 문제가 발생한 것으로 보인다. -> 해당 테이블이 존재하는지 체크 후 삭제하도록 하자 첫 번째 방법 IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE name = '#TEMP1') BEGIN DROP TABLE #TEMP1 END 두 번째 방법 IF OBJECT_ID('tempdb.... 이전 1 2 3 4 5 6 7 8 ··· 16 다음