[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'