sql
--检索表存在以下数据
declare @str varchar(500)
set @str = '2723501016' --要查询的内容
declare @schema sysname, @table sysname, @column sysname, @sql nvarchar(max)
if object_id('tempdb..#hit') is not null drop table #hit
create table #hit (schema_name sysname, table_name sysname, column_name sysname, row_cnt int)
declare table_cursor cursor for
select s.name, t.name, c.name
from sys.tables t
join sys.schemas s on t.schema_id = s.schema_id
join sys.columns c on t.object_id = c.object_id
join sys.types ty on c.user_type_id = ty.user_type_id
where ty.name in ('nvarchar','varchar')
and t.is_ms_shipped = 0
open table_cursor
fetch next from table_cursor into @schema, @table, @column
while @@fetch_status = 0
begin
set @sql = N'
if exists (select 1 from [' + @schema + N'].[' + @table + N'] where [' + @column + N'] = @p)
begin
declare @cnt int
select @cnt = count(*) from [' + @schema + N'].[' + @table + N'] where [' + @column + N'] = @p
insert into #hit values (''' + @schema + N''', ''' + @table + N''', ''' + @column + N''', @cnt)
end'
exec sp_executesql @sql, N'@p varchar(500)', @p = @str
fetch next from table_cursor into @schema, @table, @column
end
close table_cursor
deallocate table_cursor
select schema_name, table_name, column_name, row_cnt from #hit
order by schema_name, table_name, column_name
查询所有视图的创建时间和修改时间
sql
SELECT
v.name AS 视图名称,
s.name AS 架构,
v.create_date AS 创建时间,
v.modify_date AS 最近修改时间
FROM sys.views v
JOIN sys.schemas s ON v.schema_id = s.schema_id
ORDER BY v.create_date DESC;