기본 콘텐츠로 건너뛰기

[SQL] 귀찮아서 적는 SQL

    목차

MSSQL


/*
현재 ID값을 확인한다. ID값은 초기화 하지 않는다.
*/
DBCC CHECKIDENT('databasename.dbo.tablename',NORESEED);
 
 
/*
데이터를 삽입할 때마다 ID 값이 순차적으로 증감하는 구조라고 가정하자.
뒷부분 데이터를 삭제하고 다시 삽입하고자 할 때, ID 값도 이에 따라 순번을 유지하도록 하고 싶을 때 사용
예를 들면, 1 ~ 100까지 데이터를 넣고 90 부터 끝까지 삭제한 후, 다시 데이터를 넣는 경우,
ID값을 초기화하지 않았다면 101 부터 시작하게 된다. 이를 개선하기 위해서 사용한다.
*/
DBCC CHECKIDENT('databasename.dbo.tablename', RESEED, number); -- number 값으로 현재 ID 값으로 초기화
DBCC CHECKIDENT (mytable, RESEED, 0);

출처

https://stackoverflow.com/q/510121/7017299
https://stackoverflow.com/q/2923855/7017299
https://stackoverflow.com/q/17543642/7017299

테이블 명세 조회


exec sp_help 'dbo.tablename'
 
-----------------------------------------------------------
 
select * from INFORMATION_SCHEMA.TABLES;
 
-----------------------------------------------------------
 
SELECT TABLE_NAME, ORDINAL_POSITION, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
-- WHERE NOT TABLE_NAME='__MigrationHistory'
ORDER BY TABLE_NAME, ORDINAL_POSITION

테이블 마지막 변경일 조회


SELECT OBJECT_NAME(OBJECT_ID) AS OBJ_NAME, *
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID(DB_NAME())
ORDER BY dm_db_index_usage_stats.last_user_update DESC
 
-------------------------------------------------------
 
select * 
from sys.objects
where type_desc='USER_TABLE'
order by modify_date desc
 
-------------------------------------------------------
 
 
WITH agg AS
   (
       SELECT 
       last_user_seek,
       last_user_scan,
       last_user_lookup,
       last_user_update
FROM
    sys.dm_db_index_usage_stats
WHERE
    database_id = DB_ID()
        )
           SELECT
             last_read = MAX(last_read),
             last_write = MAX(last_write)
          FROM
      (
SELECT last_user_seek, NULL FROM agg
UNION ALL
SELECT last_user_scan, NULL FROM agg
UNION ALL
SELECT last_user_lookup, NULL FROM agg
UNION ALL
SELECT NULL, last_user_update FROM agg
      ) AS x (last_read, last_write);

출처

https://stackoverflow.com/q/46808780/7017299
https://dba.stackexchange.com/a/169472

기타

ConnectionString (ShapeFile)
“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DB파일이 있는 폴더 경로;Extended properties=dBase IV”
OleDbCommand
“SELECT * FROM [확장자를 포함한 순수 파일 이름]” <- 만일 안되면 확장자를 빼본다.
참고
dBase 파일 이름은 8글자를 넘어서는 안된다.

출처

https://social.msdn.microsoft.com/Forums/en-US/7034d87e-a8e3-42b6-aba7-14cc7b97e0ac/can-you-use-microsoftaceoledb120-with-dbase-iv-files?forum=adodotnetdataproviders

TRUNCATE VS DELETE

https://blog.naver.com/diceworld/220151833833

댓글