FuncDropColumn(为表删除某字段)

自动侦测表中有没有该字段,既可以避免删除出错,也可以提高程序的灵活性。

/*
author:nyb
time   :2003/12/29
fixtime :
aim    :看表中是否有这个字段,如果有,删除
input  :
调用:

execute FuncDropColumn 'PSZ31','Z31No'
*/
CREATE   PROCEDURE FuncDropColumn
@tablename  varchar(128), --表名
@Columnname varchar(128)--列名

as
set @tablename = ltrim(rtrim(@tablename))
set @Columnname = ltrim(rtrim(@Columnname))

declare @string varchar(8000)

IF  EXISTS( select * from syscolumns where id=object_id(@tablename) and name = @Columnname )
begin
select  @string ='  ALTER  TABLE '+ @tablename + ' DROP COLUMN  [' + ltrim(rtrim(@Columnname))  + ']'
print @string
execute(@string)
end

 

GO

时间: 2024-10-29 13:44:49

FuncDropColumn(为表删除某字段)的相关文章

Oracle压缩表删除字段处理时的ORA-39726错误

今天在往一个压缩表增加一个字段可以增加成功,但在删除的时候报了个 ORA-39726 unsupported add/drop column operation on compressed tables的错误. 错误是不能对压缩表增加或删除字段,奇怪的可以增加,但是不能删除. 即使将表MOVE为非压缩表也还是不可以删除. 最后终于找到了一种方法 那就是先将该字段设置为UNUSED,然后在删除UNUSED字段即可. 例如: ALTER TABLE test SET UNUSED COLUMN RO

用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等_MsSql

用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename

oracle-为什么用plsql删除Oracle表中的字段,过一段时间怎么几个字段又出来了

问题描述 为什么用plsql删除Oracle表中的字段,过一段时间怎么几个字段又出来了 为什么删除Oracle数据库中某张表的字段,怎么过一会几个字段又出来了呢??? 用的hibernate和spring,, 这个是什么情况 解决方案 会不会是hibernate自动帮你建的啊?

oracle 数据库-如何删除oralce表中部分字段值相同的所有记录项?

问题描述 如何删除oralce表中部分字段值相同的所有记录项? 表A中包含几个字段,Key,NO,Year等 现在需要删除,满足Key和NO字段完全相同的记录.需求是所有记录满足条件的记录都删除,不需要保留一条 解决方案 delete from A where Key = NO 解决方案二: oralce删除某字段值相同的记录

逆向删除属性表中的字段

删除属性表中的字段一定要注意循环的方式.如果是for循环,i< FeatureClass.Fields.FieldCount话,每删除一个字段FieldCount属性返回的字段数量将减少一个,也就是你根本不能完全删除想要删除的字段:如果你先把FeatureClass.Fields.FieldCount赋给一个变量count,for循环中使用i<count,最后导致索引越界:所以,建议使用逆向的方法删除字段. IFeatureClass pointFS = GPClass.gpUtilities

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

java-Java修改数据库表时某字段出现重复值不能修改该记录怎么继续修改下一条记录

问题描述 Java修改数据库表时某字段出现重复值不能修改该记录怎么继续修改下一条记录 Java修改数据库表的company_name字段,此字段唯一,company_name这个字段值:前面有问号的去掉以后如果和已有的company_name重复了,就不更新或者删除,前面有问号的去掉以后如果和已有的company_name没重复就去掉问号.如:?北京金瓯鼎建筑装饰工程有限公司莱州分公司和北京金瓯鼎建筑装饰工程有限公司莱州分公司两个公司,把前面有问号的去掉问号,但是有重复的,遇到有重复的不用修改此

Mybatis动态调用表名和字段名的解决方法_java

一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先

mysql数据表按照某个字段分类输出_Mysql

也许大家有时候会遇到需要将把数据库中的某张表的数据按照该表的某个字段分类输出,比如一张数据表area如下 我们需要将里面的area按照serialize字段进行分类输出,比如这种形式: areas serialize 阿蓝色,艾沙云 A 重庆森林,传承家园 C 红军楼小区,海员新村 H ......... 要以这种形式放映出来,于是可以这样做,使用mysql中的group_concat() .group by实现, select serialize,group_concat(area) as a