急求。非全动态建表

owenszc 2003-09-28 04:58:14
现在有一个库中有两个表。一个表(存放表名)字段信息如下:
tablechina varchar 30 (表中文说明)
tablename varchar 30 (表名)
tablememo varchar 50 (表说明)
另一个表(表的结构信息)的信息如下。
tablename varchar 30 (表名)
fields varchar 10 (字段名)
type varchar 15 (字段类型)
len varchar 20 (字希长度)


用以上两个表建立一个库中的其他表。各位高手前辈们可否指点一下小弟

...全文
66 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
owenszc 2003-11-08
  • 打赏
  • 举报
回复
以上。收到。
zjcxc 2003-09-28
  • 打赏
  • 举报
回复
表的说明信息是无法通过创建表来生成的,所以这方面不能处理,下面是根据表结构信息创建的存储过程

--创建建立表的存储过程
create proc p_createtable @tbname varchar(20)
as
declare @sql varchar(8000)
set @sql='create table '+@tbname+'('
select @sql=@sql+[fields]+' '
+[type]
+case when [type] in ('varchar','char','nvarchar','nchar','numeric','decimal')
then '('+cast([Len] as varchar)+')' else '' end
+','
from 表结构信息 where tablename=@tbname
set @sql=left(@sql,len(@sql)-1)+')'
print @sql
go

--调用存储过程创建表-ry_table
exec p_createtable 'ry_table'
go
owenszc 2003-09-28
  • 打赏
  • 举报
回复
不是这个意思呀。。
想建一个存储过程。根据从以上两个表里面提出的数据来建一个新的表。
比如说第一个表里有一条这个的记录
(人员表 ry_table 记录人员的基本信息 )的记录
而第二个表里有N条这样的记录
ry_table name char 20
ry_table sex char 1
. . . .
. . . .


用以上两个信息建一个新表。。要用存储过程哦。大哥们多多想一下了。。
aierong 2003-09-28
  • 打赏
  • 举报
回复
select b.tablename ,b.fields,b.type,b.len into newtable
from a join b
on a.tablename=b.tablename


是这个意思吗
sdhdy 2003-09-28
  • 打赏
  • 举报
回复
--建立一个新表newtable
select a.*,b.fields,b.type,b.len into newtable from a,b where a.tablename=b.tablename

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧