我的百度网盘推广链接,请支持下
http://yun.baidu.com/disk/beinvited?uk=4195699187
万分谢谢。
select * from Firstselect * from Secend
--删除包含“机尾”数据的记录
declare
@strdel varchar(20)
set @strdel='机尾'
declare @temp table
(
xh int identity,
tabname varchar(20), --表名
colname varchar(20) --列名
)
insert into @temp(tabname,colname)
select b.name as tabname,a.name as colname
from syscolumns a inner join sysobjects b on a.id=object_id(b.name)
where b.xtype='U'
and b.name not in ('sysdiagrams')--排除系统表
order by b.name
declare
@tabname varchar(20),
@colname varchar(20),
@i int,
@rowcount int,
@strsql varchar(100)
set @rowcount=@@ROWCOUNT
set @i=0
while @i<@rowcount
begin
set @i=@i+1
select @tabname=tabname,@colname=colname from @temp where xh=@i
set @strsql='delete ' + @tabname + ' where ' + @colname + ' like ''%' + @strdel + '%'''
exec(@strsql)
end
select * from First
select * from Secend
删除包含“机尾”的数据记录,看看下面的效果
假如建了关系图,多执行几次脚本即可。
1.首先使用ORACLE系统用户登录PL/SQL管理工具。
2.在SQL脚本中,编写和执行SQL语句来删除表空间的表空间名称。
3.如果希望清理用户下的所有数据库表,可以执行以下语句,删除用户名cascade。
4.当执行上述语句时,它将显示在它正在执行的级别以下。
5.执行之后,可以使用删除的用户登录PL/SQL。
6.如果有d出提示,说明删除成功。
新建一个表tbl_all,两个字段(idx:自增长,tbl:表名),把所有表名导入这张表,假设那个相同的字段是:fd_test写个存储过程:
CREATE PROCEDURE DEL_DATA
@fd varchar(20)
AS
declare @idx int
declare @row_count int
select @row_count=count(*) from tbl_all
set @idx=1
while @idx<@row_count
begin
declare @tbl varchar(20)
select @tbl=tbl from tbl_all where idx=@idx
delete from @tbl where fd_test=@fd
set @idx=@idx+1
end
GO
在DELPHI中只要用ADOStoredProc调用这个存储过程就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)