select * from USER_tab_PRIVS ;
Grantee: 授權對象
Owner: 物件擁有者
Privilege: 授予權限
老楊
2013年9月12日 星期四
2013年8月18日 星期日
VBA - 日期資料顯示轉換
Sub Change_Date_Format()
Dim I, J As Integer
Dim s1 As String
Application.ScreenUpdating = False
For I = 2 To 10
Sheets("Sheet 1").Select
s1 = Range("V" & I).Value
ActiveSheet.Range("V" & I).Select
If IsNull(Trim(s1)) Or s1 = "" Then
Else
ActiveCell.Value = Format(CDate(s1), "yyyy/mm/dd hh:mm:ss")
End If
Next
Application.ScreenUpdating = True
MsgBox "Done"
End Sub
Dim I, J As Integer
Dim s1 As String
Application.ScreenUpdating = False
For I = 2 To 10
Sheets("Sheet 1").Select
s1 = Range("V" & I).Value
ActiveSheet.Range("V" & I).Select
If IsNull(Trim(s1)) Or s1 = "" Then
Else
ActiveCell.Value = Format(CDate(s1), "yyyy/mm/dd hh:mm:ss")
End If
Next
Application.ScreenUpdating = True
MsgBox "Done"
End Sub
2013年3月18日 星期一
SQL Server Table column 查找
1. 單純的一個DB 查找 Script :
SELECT t.name AS table_name,SCHEMA_NAME(schema_id) AS schema_name,c.name AS column_nameFROM sys.tables AS tINNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_IDWHERE c.name LIKE '%XXX%'ORDER BY schema_name, table_name;
2. 整個主機 查找 包含 XXX 欄位的 Table Script :
declare @tmp_record table(db_name varchar(100),
schema_name varchar(100),table_name varchar(100),
column_name varchar(100),max_length varchar(100))
declare @sqlstr nvarchar(4000)
declare @keyword varchar(20)
declare @db_name sysname
set @keyword = 'acc_no'
declare cur_db cursor for
select name from sys.databases where state = 0
open cur_db
fetch next from cur_db into @db_name
while @@fetch_status = 0
begin
set @sqlstr = ''
set @sqlstr = @sqlstr + '
SELECT '''+@db_name+''',c.name as schema_name,b.name as table_name,a.name as column_name,max_length FROM (
select * from ['+@db_name+'].sys.all_objects where object_id IN (
select object_id from ['+@db_name+'].sys.all_columns where name like ''%'+@keyword+'%''
)
) b
RIGHT JOIN ['+@db_name+'].sys.all_columns a ON a.object_id = b.object_id
LEFT JOIN ['+@db_name+'].sys.schemas c ON c.schema_id = b.schema_id
WHERE a.name like ''%'+@keyword+'%''
and b.type_desc = ''USER_TABLE'' '
begin try
set nocount on
insert into @tmp_record
exec sp_executesql @sqlstr
end try
begin catch
print error_message()
print @sqlstr
end catch
fetch next from cur_db into @db_name
end
close cur_db
deallocate cur_db
select * from @tmp_record
2011年11月3日 星期四
Oracle DB Error Message Trace
RAISE_APPLICATION_ERROR(-20002,vsErrM||chr(10)||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
2011年4月11日 星期一
Excel Cell Format 變更(千元位表達)
在Excle 上面要做到資料內容不動, 但依照需求顯示成為千元、整數元、小數兩位之格式
首先要先了解Excel 的Cell Format 規則請參閱 Excel
1. 基本數字格式代碼
2.建立或刪除自訂數字格式ex: 要表達成為下列的內容

格式>>儲存格>>數值>>自訂
千分位表達- format 設定: #,###,###.00
整數位表達- format 設定: #,###,###
千元位表達- format 設定: #,###,
其他的需求應該可以依照數字格式設定來解決.
2010年12月12日 星期日
查詢Oracle DB Locked Object
查詢DB Object 被 lock的語法
select lo.session_id, vs.SERIAL# , do.OBJECT_NAME, lo.*from v$locked_object lo ,dba_objects do , v$session vs where lo.object_id = do.object_id and lo.SESSION_ID = vs.SID ;
select lo.session_id, vs.SERIAL# , do.OBJECT_NAME, lo.*from v$locked_object lo ,dba_objects do , v$session vs where lo.object_id = do.object_id and lo.SESSION_ID = vs.SID ;
2010年12月1日 星期三
PL SQL Develop - 比對不同資料庫同一個DB 物件的差異
要比對同一個DB物件, 在不同資料庫之差異. 可以利用 PL-Sql Develop 的Ccompare 功能
1. 先登入 要比對物件的其中一台DB
2. PL-Sql Develop - Tools -> Compare User Objects
2.1 選擇要比對的物件(按Ctrl + Click) 可以多選
2.2 輸入要比對的DB 登入相關資訊
2.3 執行Compare

3. 比對完成後, 可以在Differences中看到 一些資訊
3.1 上面的表列會列出所選的物件中. 哪些物件是與Target 有差益的物件
3.2 下方的Script 是有差異的物件, 以來源DB 為基準做為要更新Target DB的語法. (ex: Table Structure 有差異. 會產生一些modify 的script , Procedure or Function 則是Replace的語法)
3.3 右邊的Button 有幾個比較特別的部分
3.3.1 針對差異語法複製至 Clipboard or 另存成檔案 (針對 Table Structure 差異較有用處)
3.3.2 顯示兩個物件差異的地方 (針對 Procedure or Function 特別有用), 會另外開一個Window 並用不同顏色標示兩邊差異的內容
3.1 上面的表列會列出所選的物件中. 哪些物件是與Target 有差益的物件
3.2 下方的Script 是有差異的物件, 以來源DB 為基準做為要更新Target DB的語法. (ex: Table Structure 有差異. 會產生一些modify 的script , Procedure or Function 則是Replace的語法)
3.3 右邊的Button 有幾個比較特別的部分
3.3.1 針對差異語法複製至 Clipboard or 另存成檔案 (針對 Table Structure 差異較有用處)
3.3.2 顯示兩個物件差異的地方 (針對 Procedure or Function 特別有用), 會另外開一個Window 並用不同顏色標示兩邊差異的內容


2010年3月21日 星期日
Oracle - 如何變更Sequence nextval
1 ALTER SEQUENCE sequence_name INCREMENT BY number;
ex: ALTER SEQUENCE myseq INCREMENT BY 1; ---> add 1 to last number;
ex: ALTER SEQUENCE myseq INCREMENT BY -1; ----> subtrace 1 from last number;
2 select myseq.currval from dual; ---> sequence current number
select myseq.nextval from dual; ---> sequence next number
3 修改sequence 的cache為0.
ex: ALTER SEQUENCE sequence_name NOCACHE
2010年3月17日 星期三
訂閱:
文章 (Atom)