存储过程里如何动态建表?参数是不定的。 不知道select 有这种作用呢,还得努力学习!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ALTER proc test_insert_Report ( @Name varchar(50), @TableName varchar(50), @CategoryName varchar(50) )as declare @CategoryID int declare @sql nvarchar(4000) set @sql='create table aaaaa(' select @sql=@sql+ReportFieldName+'varchar(50),' from ReportField where ReportID = '1' set @sql=left(@sql,len(@sql)-1)+')' exec(@sql) select @CategoryID=[ID] from DataCategory where [Name]=@CategoryName insert into Report values(@Name,@TableName,@CategoryID)go还是有问题啊这个是我项目里的用途是一张Report表里插入一条数据后,要自动生成一张新的表现在问题还有几个:1:根本没有建立aaaaa这张表2:就算建立了,其实这个表名aaaaa应该是参数@TableName里来的,怎么让他从参数@TableName里来?也就是说create table ????这里怎么写?我这里新建表不能成功,所以我也测试不了,只能暂时写个aaaaa了。3:执行这个存储过程exec test_insert_Report 'Test','aaaaa','财务报表'后,可以执行成功,但是报一个错:服务器: 消息 173,级别 15,状态 1,行 1列 'idvarchar' 的定义中必须包括数据类型。(所影响的行数为 1 行)4:where ReportID = '1',这个1应该是Report表插入一条数据后自动增长的一个主键的值,这个值怎么得到呢?也就是说where ReportID =????什么呢。。 关于数据库大小的问题 SQL 的 JY们,请教个小问题 如何得到执行sql语句的主机名或者ip地址 sql2005数据库错误修复 简单问题,好久没来了,送分ing!!! 贴一定要结,不给楼上coleling分就对不住你,还想请教,所有的执行结果如何select*into [result]?? 一个综合查询的问题,一点点难度 为什么运行这个Transaction 出现"COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION" 错误 ? 这条语句怎么优化啊?高手帮忙看看 SQL Mail 设定问题 高手帮忙啊! 求SQL语句
(
@Name varchar(50),
@TableName varchar(50),
@CategoryName varchar(50)
)
as
declare @CategoryID int
declare @sql nvarchar(4000)
set @sql='create table aaaaa('
select @sql=@sql+ReportFieldName+'varchar(50),'
from ReportField where ReportID = '1'
set @sql=left(@sql,len(@sql)-1)+')'
exec(@sql)
select @CategoryID=[ID] from DataCategory where [Name]=@CategoryName
insert into Report values(@Name,@TableName,@CategoryID)
go还是有问题啊
这个是我项目里的
用途是一张Report表里插入一条数据后,要自动生成一张新的表
现在问题还有几个:
1:根本没有建立aaaaa这张表2:就算建立了,其实这个表名aaaaa应该是参数@TableName里来的,怎么让他从参数@TableName里来?也就是说create table ????这里怎么写?我这里新建表不能成功,所以我也测试不了,只能暂时写个aaaaa了。3:执行这个存储过程exec test_insert_Report 'Test','aaaaa','财务报表'后,可以执行成功,但是报一个错:
服务器: 消息 173,级别 15,状态 1,行 1
列 'idvarchar' 的定义中必须包括数据类型。(所影响的行数为 1 行)4:where ReportID = '1',这个1应该是Report表插入一条数据后自动增长的一个主键的值,这个值怎么得到呢?也就是说where ReportID =????什么呢。。