本人無意中需要幫助維護我們的鄰居-----巴倫臺醫院的醫院管理系統。
其中在一次醫保資料上傳的過程中提示 病人 74828429 插入錯誤,處方號不能為空。
經查,發現是把醫院管理系統的 sql2000資料庫的內容,經過處理之後,插入到oracle8 資料庫中。
那麼這裡只提示了oracle8的表名列名。卻沒有提供源資料庫 sql2000的表名列名
好吧,那麼我們在源資料庫裡找。sql2000嗎,用了8年了,還不熟悉麼。
可是,一開啟,就傻眼了,天啦,816個表%&$#@#…………
沒辦法,只好請教csdn的高手。一天以後,網友 wxg22526451 給了答案。
在查詢分析器中執行如下語句:
declare @str varchar(100)
set @str='這裡請自己填寫' --要搜尋的字串
declare @s varchar(8000)
declare tb cursor local for
select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] like
''%'+@str+'%'')
print ''所在的表及字段: ['+b.name+'].['+a.name+']'''
from syscolumns a join sysobjects b on a.id=b.id
where b.xtype='u' and a.status>=0
and a.xusertype in(175,239,231,167)
open tb
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
endclose tb
deallocate tb
在一分鐘之後,計算機給出了答案,順利找到了這個資料所在的表、列。問題自然就解決了。
在這裡特別感謝熱心的csdn網友,包括其它的幾位給出不同方案的朋友,感謝csdn網。
查詢MSSQL資料庫表的列備註
select 庫名 case when a.colorder 1 then h.table catalog else end,模式 case when a.colorder 1 then h.table schema else end,表名 case when a.colorder 1 then d...
查詢日期所在1周的資料
select t kojin yotei.yotei as yotei t kojin yotei.basho as basho t kojin yotei.yotei start dt as yotei start dt t kojin yotei.yotei end dt as yotei en...
查詢資料庫所有表以及表的所有列
select from tab select a.b.comments from select t.table name,t.column name,t.data type from user tab cols t where table name entp show a left join sel...