问题描述:将数据库里所有表(用户表)的某一字段值的某个字,改为另外一个字;
解决方法:使用Replace函数即可;外加游标实现;-- mssql 2005试验通过
最新版, 只需更改一处即可;
declare @oldstr varchar(100)
set @oldstr= '里' --原字符
declare @newstr varchar(100)
set @newstr= '裏' --新字符
declare @s varchar(8000)
declare tb cursor local for
select s= 'if exists(select 1 from ['+b.name+ '] where ['+a.name+ '] like ''%'+@oldstr+ '%'' )
update ['+b.name+ '] set ['+a.name+ ']= Replace('+a.name+','''+@oldstr+''','''+@newstr+''')'+ ' where ['+a.name+ '] like ''%'+@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)
print @s
fetch next from tb into @s
end
close tb
deallocate tb
---------------------------------------------------------------------------------
要更改两处;
declare @oldstr varchar(100)
set @oldstr= '恆' --原字符
declare @newstr varchar(100)
set @newstr= '恒' --新字符
declare @s varchar(8000)
declare tb cursor local for
select s= 'if exists(select 1 from ['+b.name+ '] where ['+a.name+ '] like ''%'+@oldstr+ '%'' )
update ['+b.name+ '] set ['+a.name+ ']= Replace('+a.name+',''恆'',''恒'')'+ ' where ['+a.name+ '] like ''%'+@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)
print @s
fetch next from tb into @s
end
close tb
deallocate tb
分享到:
相关推荐
接下来,我们需要创建一个事件监听器,以便在源属性表的特定字段值发生变化时触发相应的操作。这可以通过实现`IObjectEvents`接口并重写`AfterPropertySet`方法来完成。当`AfterPropertySet`被调用时,说明源属性表...
- **注意事项**:如果尝试插入重复值,Oracle将抛出一个错误。 2. **唯一索引(Unique Index)** - **定义**:唯一索引是在表的特定列上创建的索引,其作用与唯一约束相似,但它是通过索引实现的,而不是通过表级...
在Oracle数据库中,如果一个表中存在某个字段已经不再被使用或者该字段需要被替换,那么可以通过`ALTER TABLE`语句来删除该字段。这一操作会永久地从表中移除指定的列,因此在执行之前需要确保该字段的数据确实不再...
这里创建了一个名为`xue_sheng`的表,该表有两个字段:`id`和`xing_ming`。 ##### 2. 插入数据(Insert Data) 插入数据是向数据表中添加新记录的过程。可以使用`INSERT INTO`语句来完成这一操作。例如: ```sql ...
在MySQL数据库操作中,有时我们需要将一个表中的字段值更新为另一个表中相应字段的值。这在数据同步、数据修复或数据整合等场景中非常常见。本篇将详细讲解如何实现这一操作,并通过实例来具体说明。 首先,我们要...
假设我们有一个名为`users`的表,其中包含一个名为`usertype`的列,该列存储用户类型,以逗号分隔的数字形式表示,如“1,2,3,4”。现在,我们需要将所有出现的“4”替换为“3”,可以使用以下SQL语句: ```sql ...
本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的命令来完成。下面我们将详细解析这一操作的步骤、原理以及可能遇到的问题。 ### Oracle中的权限...
在数据库管理过程中,查找特定字段所在的表是一项常见且重要的任务。这不仅有助于了解数据结构,还能辅助进行数据迁移、查询优化等工作。本文将基于提供的标题、描述、标签以及部分内容,详细解析如何通过SQL命令在...
1. **DataTable**: 是一个内存中的二维表格,类似于关系数据库表。 2. **DataRow**: 表示`DataTable`中的一行。 3. **DataColumn**: 表示`DataTable`中的一列。 4. **DataColumn.DataType**: 表示该列的数据类型。 5...
在我们所讨论的“中国所有省市县数据库表包含数据.rar”压缩包中,包含了名为“js_sys_area_data.sql”的文件,这是一个SQL脚本文件,用于创建和填充一个描述中国行政区域结构的数据库表。 首先,我们需要了解...
上述SQL语句创建了一个名为`tblNewOrder`的表,其中`OrderId`字段的初始值被设置为1000,每次增加10。 ##### 方法二:修改现有表的自增长字段初始值 如果表已经存在,可以通过`ALTER TABLE`语句来修改自增长字段的...
当用户修改某个字段后,相应的标识字段会被设置为特定值,表示该字段已被修改。 2. **技术实现**: - 在数据库中为每个需要高亮显示的字段增加一个标志位,通常可以是布尔类型。 - 当用户提交修改后,通过ECODE...
本文将基于给定的信息——“PL/SQL数据库的字段表的变更”这一主题,深入探讨相关的知识点,包括但不限于SQL数据库的基本概念、PL/SQL语言的特点、如何在Oracle数据库(常用PL/SQL)中进行表字段的变更操作以及变更...
例如,在`table`表中有一个名为`column_name`的字段,该字段中可能存在诸如“一千”、“二万”这样的非标准数值表示,或者干脆就是汉字、符号等非数字字符。此时,如果直接使用`SUM()`函数对该字段进行求和操作,则...
以下是两种查询数据库中某一字段下相同值的记录的方法。 **方法一:通过学号和身份证字段来查询** 这种方法推荐用于数据库执行效率高的场景。它利用了子查询和自连接的概念,通过比较同一表中不同行的学号(Sno)...
在Access中,可以通过“工具”->“关系”设置参照完整性,指定一个表的字段(外键)引用另一个表的主键。例如,设置两个Course表之间的关系,使得一个课程编号(Cno)对应另一课程的父编号(Cpno),这样就建立了...
在MySQL数据库中,有时我们需要将一个表中的某个字段的数据复制到另一个表的相应字段中,以满足特定的数据迁移或同步需求。以下是一些常见的SQL语句写法来实现这一目标。 1. **LEFT OUTER JOIN** 方法: ```sql ...
在DB2中,可以定义一个触发器,在插入新记录时自动为特定字段分配一个递增的值。 ##### 3.2 创建触发器示例 下面是一个简单的触发器示例,用于实现`user`表中`id`字段的自增长: ```sql CREATE SEQUENCE user_id_...