日期:2014-05-19  浏览次数:20497 次

在SQl2000中,如何让系统自动建立表结构(100)(在线等待)
如题   :请给予详细的说明。谢谢

------解决方案--------------------
系统自动?再怎么自动,你总得做点什么吧。
------解决方案--------------------
建立什么样的表结构?

没有要求,随便建?
------解决方案--------------------
现在还没有软件智能到这程度!!!!!!!
你要建的什么样的表?间多少个,有什么要求和条件???
------解决方案--------------------
不是很了解你的意思,但是如果你是用类似 Powerdesign 之类的程序已经建立好数据库模型的话,可以建立到 MSSQL 的连接,直接生成相关的表。

如果你什么都没做,那么电脑怎么知道要做什么。
------解决方案--------------------
select * into bbb from name
delete from bbb
------解决方案--------------------
--创建测试环境
create table tname(tablename varchar(20))

--插入测试数据
insert tname(tablename)
select 't1 ' union all
select 't2 ' union all
select 't3 '

--求解过程
declare @sql varchar(8000),@col varchar(8000) set @col = '(a int,b int) '--表结构

declare t_cursor cursor for
select tablename from tname
open t_cursor
fetch next from t_cursor into @sql
while @@fetch_status = 0
begin
select @sql = 'create table ' + @sql + @col
exec (@sql)
fetch next from t_cursor into @sql
end
close t_cursor
deallocate t_cursor

select * from t1

--删除测试环境
drop table tname
drop table t1,t2,t3

/*--测试结果
a b
----------- -----------

(所影响的行数为 0 行)
*/
------解决方案--------------------
楼上的方法就很好!

------解决方案--------------------
利用er 工具生成脚本,数据库查询分析器中执行
------解决方案--------------------
利用SQL的作业来定时创建(似乎楼主并不是要自动创建,而是需要时才创建),好就只有利用代码来实现.
利用已经存在的表结构来创建表,最好使用存储过程,写法可以参考mengmou的方法
学校的成绩管理系统中的成绩最好能将每个成绩分开建表,这样效率会高一些,如果将所有的成绩放在一起,速度很慢