일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프메
- 프메추천
- DateTime
- mssql
- 티스토리
- 메이플
- 스라벨
- 메이플 나워
- 메이플스토리 나워
- 오로라
- 메이플 나이트워커
- 메이플5차
- dataGridView
- 메이플 오로라
- 메이플스토리 나이트워커
- 메이플스토리 오로라
- 나이트워커
- C#
- 여름 휴가 계획
- 마라벨
- 신생서버
- c-sharp
- 프리메이플
- 프리베어
- 메이플스토리
- 일상
- SQL Server
- 묘용
- 허브플래닛
- 나워
- Today
- 87
- Total
- 295,307
목록mssql (29)
Jasmin Time
DECLARE @dateval DATETIME EXECUTE ('begin my1.spGetDate(?); end;', @dateval OUTPUT) AT ORA_DBLINK_NAME; EXECUTE ('begin my1.spDeleteOldRecords(?); end;', @dateval) AT ORA_DBLINK_NAME; 매개 변수가 여러 개인 경우 다음과 같이 표시 될 수 있습니다. EXECUTE ('begin my1.spProc(?,?,?,?); end;', @param_in_1, @param_in_2, @param_out_3 OUTPUT, @param_out_4 OUTPUT) AT DBLINK_NAME; https://codeday.me/ko/qa/20190510/510559.html SQL ..

1. 오라클 클라이언트를 설치한다. https://www.oracle.com/technetwork/topics/winx64soft-089540.html 2. \%ORACLE_HOME%\network\admin 폴더 안에 tnsnames.ora 파일을 생성한다. ORACLE_HOME: 오라클 클라이언트 설치경로 / 기본값: C:\app\컴퓨터계정\product\11.2.0\client_1 - tnsnames.ora 파일에 생성방법 L 메모장을 연다. L 메모장에 다음을 입력한다. TNS명 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IP주소)(PORT = 포트번호)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME ..
1. 칼럼 추가 ALTER TABLE [Table_Name] ADD [Column_Name] [data_type] ;NULL여부 ;default '기본값' - NULL 허용: ALTER TABLE table1 ADD cTitle varchar(10) null - NULL 허용X, 기본값 있음: ALTER TABLE table1 ADD SubTitle varchar(10) not null default 'N' 2. 변경 - 칼럼명 EXEC sp_rename '[Table_Name].[Old_Column_Name]', '[New_Column_Name]', 'COLUMN' EXEC sp_rename 'table1.cTitle', 'Title', 'COLUMN' - 칼럼 데이터타입 ALTER TABLE [Tab..

다음은 UNION과 Order by를 이용해 소계와 합계를 만드는 쿼리에 대한 설명이다. -- 테이블 정의 DECLARE @Table1 table ( _Name varchar(30) null, _Date varchar(10) null, _Number int null ) @Table1에 아래 그림과 같이 데이터가 들어있으며 사람별 _Number의 합계와 전체 _Number의 합계를 구하고자 할 때 SELECT _Name, _Date, _Number, 1 as Ordering FROM @Table1 UNION ALL SELECT _Name, '소계' as _Date, SUM(_Number) as Number, 1 as Ordering FROM @Table1 GROUP BY _GroupName UNION AL..
어느날 프로그램이 되지 않아서 보니까 드라이브의 용량이 꽉 차있었다.어디서 드라이브 용량이 꽉 찬 것인지 SpaceSniffer로 확인해보니까 MSSQL DATA 폴더에 특정 데이터베이스 로그파일이 아주 엄청 늘어나 있었다. 이전에 쓴 글인 트랜잭션 로그가 꽉 차서 해결했던 방법을 써보았으나2018/08/17 - [Database/MSSQL] - MSSQL 오류 해결 트랜잭션 로그가 꽉 찼습니다. 드라이브에 용량이 없어도 너무 없어서 그런가 오류메시지가 발생하면서 로그파일이 삭제가 되지 않는다. 예전에 데이터베이스 속성을 통해서는 안 되었으나 쿼리를 실행했을 때는 되었던 경험을 통해 혹시 쿼리로 로그를 삭제할 수 있지 않을까 하는 생각에 방법을 찾아보았고, 아래의 sql 쿼리를 찾아내었다. USE [Da..
시작페이지에 검색에 SQL Server 2014 버전인 경우는SQLServerManager12.msc 2014 이후 버전은 숫자를 하나씩 올리고,2014 이전 버전은 숫자 하나씩 내리면서 입력합니다. 참고로 SQL Server 2015는 없는 버전이기 때문에SQL Serer 2016이 SQLServerManager13.msc 입니다. 위와 같이 파일이 나온다면 실행합니다. 또는 윈도우키+R를 눌러 실행창을 띄운 후 입력합니다.[SQL Server 2017일 때] 확인을 클릭하면 SQL Server 구성관리자가 실행됩니다.
SELECT sum(column) FROM table 을 하면 column의 row값 전체합을 조회한다.column의 전체합이 아니라row를 하나씩 점차적으로 sum을 하는 방법이 어디 없을까? SELECT ID, ( SELECT SUM(ValueColumn) FROM Test T2 WHERE T2.ID > 쿼리실행 >> 쿼리결과그림에서 W_UserAtt_Group 칼럼의 값은 전부 1인데 이 칼럼을 점차 더해주는 쿼리를 사용하여 GradualSum에서 W_UserAtt_Group 값이 1씩 증가한 것을 볼 수 있다.
계정에 읽기(select) 권한만 부여하고 추가, 수정 및 삭제(insert, update, delete) 권한은 주지 않는 방법입니다. 1. 이미 생성되어 있는 계정 중에서 부여를 한다면 보안 > 로그인을 펼쳐서 해당 계정을 오른쪽 마우스로 클릭하고, 속성을 클릭합니다.새로 만드는 경우는 로그인을 오른쪽 마우스로 클릭하고, 새 로그인을 클릭합니다. 2. 일반에서 로그인 이름, 암호를 입력하고 기본 데이터베이스 등을 선택합니다. 3. 서버 역할은 public 하나만 체크합니다. 4. 사용자 매핑 - 권한부여를 하는 곳입니다. 매핑할 데이터베이스를 체크하고, 그 밑에 데이터베이스 역할 멤버 자격에서 db_datareader와 public을 체크하고 확인을 눌러 저장합니다. 5. 읽기 권한만 부여한 계정으로..
데이터의 자료형이 char이나 nchar이면 자릿수만큼 공백이 채워진다.또는 데이터를 입력하다가 실수로 맨 왼쪽이나 맨 오른쪽에 공백이 들어간 경우 이때 이 데이터를 조회할 때 공백은 불필요한 것이므로왼쪽에 공백이 채워졌거나 오른쪽에 공백이 채워졌을 때 제거하려면 다음의 함수를 사용한다. 데이터의 왼쪽 공백 제거 = LTRIM(데이터)데이터의 오른쪽 공백 제거 = RTRIM(데이터) 두개를 같이 쓰면 LTRIM((RTRIM(데이터)) 그 외에 데이터 중간에 공백을 넣고 잘못 입력했을 때는 REPLACE를 활용한다.REPLACE(데이터, ' ', '')
1. 생성시 주의사항 2. (18) Table Hints 사용 2. (20) SET NOCOUNT ON / OFF 사용하기 3. (2) INDEX를 타는지 확인 https://m.blog.naver.com/PostView.nhn?blogId=islove8587&logNo=220605402338&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F[MSSQL] 성능 향상을 위한 팁1. 생성시 주의사항(1) DB 생성시 주의사항 ① DB 명칭은 해당 서비스를 파악할 수 있도록 명명한다. (...m.blog.naver.com
출처: https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/ Date and Time Conversions Using SQL Serverwww.mssqltips.com 아래 표에는 없는 형식 변환법 (한국식 날짜 변환)Select Convert(varchar, getdate(),121) => 2016-04-05 09:28:25.003Select Convert(varchar(10), getdate(),121) => 2016-04-05Select Convert(varchar, getdate(), 120) => 2016-04-05 09:28:25 DATE FORMATSFormat #Query (current..
프로그램 내에서데이터를 select하여 가져온 다음에 row 하나씩 작업을 처리한 후 row 하나를 update를 하는 과정이처리속도가 오래 걸리는 문제가 있었다. select한 데이터는 플래그만 바꿔주면 되는 간단한 문제인데 처리속도가 느려서 그 뒤에 작업들도 너무 오래 걸린다. 방법을 달리하였다.update를 프로그램이 수행을 하여 느려진 것이니데이터베이스 자체에서, 쿼리에서 처리가 되도록 하는 방법을 생각했다.MSSQL은 저장프로시저가 있으니 저장프로시저에서 작업이 일어나고프로그램에선 프로시저를 실행해 데이터만 가져오면 된다. 1. 임시테이블을 만든다.declare @AAA table ([CreateDate] [datetime] NOT NULL, [UserID] [varchar](8) NOT NUL..
시퀀스 또는 인덱스 칼럼을 나중에 만들었을 경우 그 칼럼의 값은 NULL일 것이고, 값을 중복되지 않은 값들로 1씩 증가하여 채워야지 정상적으로 자동증가값으로 변경할 수 있다. 이 때, 이 칼럼을 행번호로 채우면 되지 않을까. WITH ttt AS (select ROW_NUMBER() over (order by [CreateDate]) as rownum, * from MyTable)update ttt set IN_DEX=rownum
[출처: (오류 해결) 트랜잭션 로그가 꽉 찼습니다.] 트랜잭션 로그를 때때로 백업하고 비워줘야 한다. 그렇지 않으면 로그 파일이 꽉 차서 SQL 서버에 에러가 발생한다. 에러 메시지는 "트랜잭션 로그가 꽉 찼습니다." 에러 처리 방법은 두가지가 있다(물론 더 많이 있겠지만 필자가 아는 것이 두가지). 1. SSMS의 메뉴를 사용하는 방법(마우스를 사용하는 방법)2. SQL로 처리하는 방법(SQL 창을 사용하는 방법) 이 두가지에 대해서 수행 과정을 화면 캡쳐한 것 중심으로 정리한다. 아래 그림은 순서대로 캡쳐한 것이다. 화면을 크게 보고 싶을 경우 그림을 클릭하면 원본으로 크게 볼 수 있다. 체크 표시는 왼쪽 마우스 버튼을 클릭하라는 의미이고 밑줄은 오른쪽 마우스를 클릭하라는 의미다. 1. SSMS의 ..
DECLARE @DDate datetimeDECLARE @VDate varchar(10)SET @DDate=getdate()SET @VDate ='2018-07-04' * 값이 문자열이면 date 또는 datetime으로 형변환한다. 1. 날짜 더하기 - 1일 SELECT DATEADD(day, 1, @DDate)SELECT DATEADD(day, 1,Convert(date,@VDate)) - 1달SELECT DATEADD(month, 1, @DDate)SELECT DATEADD(month, 1,Convert(date,@VDate)) - 1년 SELECT DATEADD(year, 1, @DDate)SELECT DATEADD(year, 1,Convert(date,@VDate)) 2. 날짜 빼기 - 1일 S..