1、
数据库中表名查询
select name from sysobjects where type = 'U'
select name from sysobjects where type = 'U' and name!='dtproperties'
查询数据库中用户表(type='U'),表名中不含_OPLOGS字样,和_LOGS字样,以及表名中必须包含下划线(_).
/* use **DB
select name from sysobjects where ( type = 'U' and name!='dtproperties' and (not name like '%_OPLOGS%') and (not name like '%_LOGS%') ) and name like '%[_]%'
*/
2、
修改表字段,如:向SHUXUE表 添加AA字段。
/*
ALTER table SHUXUE add AA varchar(40) null
*/
3、
表中是否存在某字段的查询语句,如果不存在返回-1.
StringBuilder sqlStr=new StringBuilder();
sqlStr.Append("if not exists (select * from syscolumns where id=object_id('");
sqlStr.Append(tableName);
sqlStr.Append( "') and name='");
sqlStr.Append(tableName).Append("_AA')");
sqlStr.Append(" select -1 as mycount ");
return sqlStr.ToString();
4、
// if exists (select * from syscolumns where id=object_id('SHENGWU') and name='SHENGWU_P')
// print 'exists'
5、
为表添加字段。可以侦测表中有没有这字段。
如果没有,添加该字段。
转-- -用存储过程来实现 修改表格字段
create procedure funcaddcolumn
@tablename varchar(128), -- 表名
@columnname varchar(128),---列名
@columntype varchar(128) -- 列定义
as
set @tablename = ltrim(rtrim(@tablename))
set @columnname = ltrim(rtrim(@columnname))
set @columntype = ltrim(rtrim(@columntype))
declare @string varchar(8000)
if not exists( select * from syscolumns where id=object_id(@tablename) and name = @columnname )
begin
select @string = alter table + @tablename + add [ + ltrim(rtrim(@columnname)) + ] + @columntype + null
print @string
execute(@string)
end
go
6、
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等
在这次开发时,我使用了:
StringBuilder sqlStr=new StringBuilder();
sqlStr.Append( "update ").Append(tableName);
sqlStr.Append(" set ").Append(tableName).Append("_AA=NewID()");
return sqlStr.ToString();