select * into newtable from bselect * from sysobjects where id=object_id('表名')
1\ select top 0 * into bb from aa 2\ if exists(select 1 from sysobjects where name='ss') print 'exists' else print 'not exists'
if exists(select * from sysobjects where id=object_id('表名')) print '存在' else print '不存在'
--1.用一个已存在的表创建另一个表 select * into 另一个表名 from 已存在的表名 -- where 1=2 --如果不需要复制数据,加这一句--2.如何判断一个表是否存在? if exists (select * from dbo.sysobjects where id = object_id(N'[TAB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) print 'TAB存在' else print 'TAB不存在'
--1.但不包含主键、外键、缺省值、触发器什么的,如果要这些,就通过sysobjects表获取相应的对象,自己创建。 select * into 新表名 from 表 where 1<>1 --2.可以判断表是否存在。 select * from sysobjects where id=object_id('表名')
我来问答第二个问题吧,比如要把sysobjects的表结构复制到表tmpxselect * into tmpx from sysobjects where id<1
2\ if exists(select 1 from sysobjects where name='ss') print 'exists' else print 'not exists'
print '存在'
else
print '不存在'
select * into 另一个表名 from 已存在的表名
-- where 1=2 --如果不需要复制数据,加这一句--2.如何判断一个表是否存在?
if exists (select * from dbo.sysobjects where id = object_id(N'[TAB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
print 'TAB存在'
else
print 'TAB不存在'
select * into 新表名 from 表 where 1<>1
--2.可以判断表是否存在。
select * from sysobjects where id=object_id('表名')
1.select ..into 只能拷贝一些东西,有很多东西无法拷贝到。一些约束可能不行,自己可以测试,一般建立临时表才用,正常情况要生成SQL再改表名,再生成新表。
2.把一个表生成一个SQL创建语句,最开头的地方就有exists范例。=======================================
powerbuilder11&SQL QQ群请加:6539042