[SQL]上課練習五

[SQL]上課練習五

use TESTSC

--except 差集
--取得目前使用者權限尚未定義的角色
select distinct ROL_ID from SC_ROL_USR
except
select distinct ROL_ID from SC_ROLE

--intersect 交集
--取得目前使用者權限已定義的角色
select distinct ROL_ID from SC_ROL_USR
intersect
select distinct ROL_ID from SC_ROLE

--union all 連集(會有重複列)
--將在員工及員工資料備份列出
use test_pub
select STAFF,NAME ,STATUS  from EMPLOYEE
union all
select STAFF,NAME , STATUS from EMPLOYEE_BACKUP

--union  連集(不會有重複列)
--將在員工及員工資料備份列出
use test_pub
select STAFF,NAME ,STATUS  from EMPLOYEE
union 
select STAFF,NAME , STATUS from EMPLOYEE_BACKUP

--顯示資料庫版本
use master
select @@version
 
--顯示資料表
use test_pub
EXEC sp_tables 
exec sp_help

--取得欄位資訊
exec sp_Help EMPLOYEE
exec sp_columns EMPLOYEE

--取得索引資訊
--建立索引
create index  idxEMPLOYEE on EMPLOYEE
(
	STAFF
)
--取得索引資訊
exec sp_helpindex EMPLOYEE
--刪除索引
drop index idxEMPLOYEE on EMPLOYEE

--取得view的資訊
--建立view
create view viewEMPLOYEE as
select * from EMPLOYEE

select * from viewEMPLOYEE
--取得view資訊
exec sp_help
exec sp_help viewEMPLOYEE
exec sp_helptext viewEMPLOYEE
--刪除view
drop view viewEMPLOYEE

--取得store procedure及function的定義
exec sp_stored_procedures
exec sp_help 'sp_who'
exec sp_helptext 'sp_who'

--取得登入session資訊
exec sp_who

--取得使用者權限定義
--權限一覽表
exec sp_helprotect
--顯示使用者'aa'的權限
exec sp_helprotect @username='aa'
--顯示資料表'EMPLOYEE'的權限
exec sp_table_privileges 'EMPLOYEE'
--顯示資料表'EMPLOYEE'欄位的權限
exec sp_column_privileges 'EMPLOYEE'