1樓:匿名使用者
declare @str nvarchar(10)
declare @tablename varchar(50)
declare @colname varchar(50)
declare @counts int
declare @sql nvarchar(2000)--以上定義變數
declare cur1 cursor for
select a.name tablename,b.name colname from sys.
objects a,syscolumns b where a.object_id=b.id and a.
type_desc='user_table'--定義遊標
set @str='海' --設定要查詢的字元
open cur1 --開啟遊標
fetch next from cur1 into @tablename,@colname
while(@@fetch_status = 0) --迴圈
begin
set @sql=n'select @counts=count(*) from ' + @tablename + ' where charindex('''+@str+''','+@colname+')>0'
exec sp_executesql @sql,n'@counts int output',@counts output --執行動態sql
if @counts>0 --判斷某個表某個欄位是否存在特定字元
begin
print @tablename+','+@colname --列印表名及欄位名
endfetch next from cur1 into @tablename,@colname
endclose cur1 --關閉遊標
deallocate cur1 --釋放遊標
2樓:匿名使用者
---給你一個提取所有表名和欄位名的語句
提取表名 欄位名稱 型別名稱
select sname.name,scol.name,stype.name,stype.max_length
from sysobjects sname, sys.all_columns scol,sys.types stype where sname.type='u' and
scol.object_id=sname.id and stype.system_type_id=scol.system_type_id
order by sname.name
你說的那個非常難做啊,很理想化是遍歷的概念
3樓:匿名使用者
這種檢查工作我想是不應該在這個時候進行,應該在資料追加到資料庫之前來進行,就算你能找出實現這種功能的命令,那要檢查一次資料庫得多長時間啊!追加一條查一次?不現實!換實現方法吧!
如何查詢某個資料庫的某個表欄位,SQL資料庫,如何查詢資料庫內含有某一列(某欄位,如name)的所有表
流浪還不行嗎 2008沒用過,不懂!不過我覺得應該和2003或者2005是一樣的操作,因為他們都使用的sql語句,變化應該不是很大! select b.name 表名,a.name 欄位名 from syscolumns a join sysobjects b on a.id b.id where ...
SQL下如何查詢來自兩個資料庫的資料
丁鐵鷹 select xm,nl,dygz from a,b where 後接兩個資料庫的連線條件即可 康習之 建立dblink來檢視兩個庫的資料。在a庫中建立b庫的dblink這樣就可以查詢了。select from a inner join b b dblink b on where a.id ...
SQL重複資料只顯示一條,查詢語句怎麼寫
吳佳航 sql重複資料只顯示一條,查詢語句編碼的寫法是 如果是所有欄位都重複,使用 distinct。如果部分欄位重複,只能使用group by 或是其他的方法。結構化查詢語言 structured query language 簡稱sql 發音 es kju el s q l 是一種特殊目的的程式...