给定一个字段的值,查询它所处的表以及字段
来源:互联网 发布:数据库理论试题及答案 编辑:程序博客网 时间:2024/04/20 02:36
1.如果只知道一个字段的值,想通过这个值查询它属于哪个表的哪个字段
2. 修改字段值:
将已知数据库中字段值为'abc'的值,全部替换为'abca'
转自: http://blog.csdn.net/zlp321002/archive/2005/06/16/395621.aspx
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
declare @str varchar(100)
set @str='abcd' --要搜索的字符串
declare @s varchar(8000)
declare tb cursor local for
/**//*
注意:
1.字段值完全相等:
select 1 from ['+b.name+'] where ['+a.name+'] ='''+@str+'''
2.所搜索的字段值为实字段值的一部分
select 1 from ['+b.name+'] where ['+a.name+'] =''%'+@str+'%''
*/
select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] ='''+@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
end
close tb
deallocate tb
set @str='abcd' --要搜索的字符串
declare @s varchar(8000)
declare tb cursor local for
/**//*
注意:
1.字段值完全相等:
select 1 from ['+b.name+'] where ['+a.name+'] ='''+@str+'''
2.所搜索的字段值为实字段值的一部分
select 1 from ['+b.name+'] where ['+a.name+'] =''%'+@str+'%''
*/
select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] ='''+@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
end
close tb
deallocate tb
2. 修改字段值:
将已知数据库中字段值为'abc'的值,全部替换为'abca'
declare @oldstr varchar(100)
set @oldstr='abc' --原字符
declare @newstr varchar(100)
set @newstr='abca' --新字符
declare @s varchar(8000)
declare tb cursor local for
select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] = '''+@oldstr+''')
update ['+b.name+'] set ['+a.name+']='''+@newstr+''' where ['+a.name+']='''+@oldstr+''' '
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
end
close tb
deallocate tb
set @oldstr='abc' --原字符
declare @newstr varchar(100)
set @newstr='abca' --新字符
declare @s varchar(8000)
declare tb cursor local for
select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] = '''+@oldstr+''')
update ['+b.name+'] set ['+a.name+']='''+@newstr+''' where ['+a.name+']='''+@oldstr+''' '
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
end
close tb
deallocate tb
转自: http://blog.csdn.net/zlp321002/archive/2005/06/16/395621.aspx
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
- 给定一个字段的值,查询它所处的表以及字段
- 数据库字段说明的查询及其它
- 数据库以字段float查询不到所需要的值
- 查询某字段所存在的所有表
- 查询某字段所存在的所有表
- 查询一个表中的两个字段值相同的数据
- 查询一个表中的两个字段值相同的数据
- 解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。
- 解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。
- 解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。
- 数据库查询给定字段的多行记录的合并
- 根据字段值查询其所在的表、字段
- 一个文本框查询多个所需字段值
- 联表查询,一个表的两个字段是另一个表的一个字段的值,如何去查
- oracle 查询两个字段赋值到一个字段的方法
- 如果一个字段为两个不同字段的查询方法
- [ztjSQL]一个TextBox查询出一个表的两个字段
- mysql 查询指定表的各字段名以及备注
- 接到LZZ的电话,心情很糟糕.
- DataGrid导入Excel
- 跨多列,多行表头的DataGrid
- .Net中的DBNull类型
- 分页控件[陕北吴旗娃的AspNetPager控件]
- 给定一个字段的值,查询它所处的表以及字段
- ##---玩死小泉--##
- 一个文件上传与下载的UserControl
- 一个略有特殊的Update的语句.
- 今天下午很郁闷
- 两个CheckBox互动
- Error Correction
- 使用js脚本如何进行客户端验证时出现乱码怎么办?
- 在ASP.NET中值得注意的两个地方