본문 바로가기

프로그램&DB/MS-SQL

[MS SQL] 테이블에 Insert Into 로 다중 레코드 동시에 등록하기 아래 데이터 베이스를 생성하는 부분부터 단일 레코드 등록까지는 MS SQL 공식 사이트의 예제를 참고 하였습니다. (URL) https://docs.microsoft.com/en-us/sql/t-sql/lesson-1-creating-database-objects?view=sql-server-ver15#create-a-database 1. 데이터 베이스 생성 CREATE DATABASE TestData 2. 사용할 데이터 베이스 설정 USE TestData 3. 샘플 테이블 생성 CREATE TABLE dbo.Products (ProductID int PRIMARY KEY NOT NULL, ProductName varchar(25) NOT NULL, Price money NULL, ProductDescr.. 더보기
MSSQL dateadd() 이용하여 말일, 초일 구해보자 by 훈이에요 님 MSSQL dateadd() 이용하여 말일, 초일 구해보자 declare @날자 datetime set @날자='2008-01-01' ---현재월의 초일 -- SELECT dateadd(d,-day(@날자)+1,@날자) ---현재월의 말일 -- SELECT dateadd(d,-day(dateadd(m,1,@날자)), dateadd(m,1,@날자)) ---전월의 초일 -- SELECT dateadd(m,-1, dateadd(d,-day(@날자)+1,@날자)) ---전월의 말일 -- SELECT dateadd(d,-day(@날자),@날자) == 또다른 매달말일 구하는 법 SELECT CONVERT(Char(8), DateAdd(day, -1, DateAdd(month, 1, @종료월 + '01')), 112.. 더보기
MS-SQL UPDATE 문에서 Case When 사용하여 전체 업데이트 MS-SQL UPDATE 문에서 Case When 사용하여 전체 업데이트 update 테이블명 set 칼럼명 = (case when 칼럼명 in (1,4,5) then 2when 칼럼명 = 2 then 5when 칼럼명 = 3 then 3else 2end ) 더보기
[MS-Sql] Select문을 이용한 Update 쿼리 -- MS-Sql -- MS-Sql에서 Select문을 이용한 Update 쿼리 Table_name_2 부분에 Select문을 넣어주면 된다. UPDATE Table_name_1 SET Table_name_1.column_name_1 = Table_name_2.column_name_1 FROM Table_name_1, Table_name_2 WHERE Table_name_1.column_name_pk = Table_name_2.column_name_pk [출처] http://prince1005.tistory.com/3 더보기
[MSSQL] select update 쿼리 -- MS-Sql --MS-Sql에서 Select문을 이용한 Update 쿼리Table_name_2 부분에 Select문을 넣어줌UPDATE Table_name_1SET       Table_name_1.column_name_1                                = Table_name_2.column_name_1FROM    Table_name_1,            Table_name_2WHERE  Table_name_1.column_name_pk                                = Table_name_2.column_name_pk- 다른테이블의 값을 쓰는 경우 - drop table TS_QUERY_TEST;drop table TS_QUERY_TEST_2.. 더보기
MSSQL 테이블 복사 * 테이블을 생성하면서 데이터도 같이 복사Select * into [새로운 테이블명] From [기존 테이블명] * 구조만 복사Select * into [새로운 테이블명] From [기존 테이블명] Where 1=2 * 테이블에 있는 데이터만 복사Inser into [복사될 테이블명] Select * From [기존 테이블명] * 특정 데이터만 복사 Inser into [복사될 테이블명] Select * From [기존 테이블명] Where 조건 [출처] MSSQL 테이블 복사|작성자 은빛질주 더보기
MS-Sql 테이블 및 저장프로시저 목록 가져오기 MS-Sql 테이블 및 저장프로시저 목록 가져오기 1. 테이블 목록 가져오기 select distinct table_name from information_schema.columns 2. 저장프로시저 목록 가져오기 select distinct specific_name from INFORMATION_SCHEMA.PARAMETERS 3. 테이블 컬럼 목록 가져오기 select Column_Name from information_schema.columns where table_name = '테이블명' [출처] http://udt785.tistory.com/50 더보기
Mass SQL 인젝션으로 삽입된 악성코드 일괄 삭제 Mass SQL 인젝션으로 삽입된 악성코드 일괄 삭제 하기! ※ 최근 쿠키 취약점을 토대로 들어오는 Mass SQL 인젝션의 경우, 기존 DB 내용을 변조하지 않고, 악성코드가 덧붙여 삽입되는 형식이기 때문에 악성코드 일괄 삭제 쿼리로 손쉽게 정상 상태로 복원이 가능하다. 하지만 SQL 인젝션 특성 상 언제 또 코드가 바뀔지 모르는 일이기 때문에 현재에 안주해서는 안 된다. 반드시 웹 취약점을 보완해야 한다는 것을 명심하시길… SQL 인젝션으로 인해 DB 내용이 변조되었을 때 SQL 인젝션 코드를 역으로 이용하여 악성코드만 삭제하는 쿼리다. 참고로 DB 내용의 일부분이 손상 및 변조되고, 악성코드가 그 자리에 치환되는 수법이라면 정상 상태로 복원되지 않는다. 당시 이 쿼리를 만들기 위해 여러 웹사이트들을.. 더보기