将试卷信息(标题,总分等)insert一张表中 然后以该试卷的ID为表名(以Title开头,如Title2) 在存储过程中创建一个表 该如何创建 下面是我写的SQL代码
CREATE PROCEDURE AddNewPaper
(
@tbName char(50),
@paperTitle nvarchar(100),
@paperPoint char(10),
@man nvarchar(50),
@shijian char(50),
@result int output
)
AS
if not exists (SELECT * FROM paperInf WHERE paperTitle=@paperTitle )
BEGIN
insert into paperInf(paperTitle,paperPoint,man,shijian) values(@paperTitle,@paperPoint,@man,@shijian)
SELECT @result = SCOPE_IDENTITY()
select @tbName = 'Title'|| to_char(SCOPE_IDENTITY()) // 这里显示有问题
exec(create table "+@tbName"(questionType char(10),questionID char(10)))
end
else
begin
set @result=-1
end
GO
CREATE PROCEDURE AddNewPaper
(
@tbName char(50),
@paperTitle nvarchar(100),
@paperPoint char(10),
@man nvarchar(50),
@shijian char(50),
@result int output
)
AS
if not exists (SELECT * FROM paperInf WHERE paperTitle=@paperTitle )
BEGIN
insert into paperInf(paperTitle,paperPoint,man,shijian) values(@paperTitle,@paperPoint,@man,@shijian)
SELECT @result = SCOPE_IDENTITY()
select @tbName = 'Title'|| to_char(SCOPE_IDENTITY()) // 这里显示有问题
exec(create table "+@tbName"(questionType char(10),questionID char(10)))
end
else
begin
set @result=-1
end
GO
(
@tbName char(50),
@paperTitle nvarchar(100),
@paperPoint char(10),
@man nvarchar(50),
@shijian char(50),
@result int output
)
AS
if not exists (SELECT * FROM paperInf WHERE paperTitle=@paperTitle )
BEGIN
insert into paperInf(paperTitle,paperPoint,man,shijian) values(@paperTitle,@paperPoint,@man,@shijian)
SELECT @result = SCOPE_IDENTITY()
select @tbName = 'Title'+Rtrim(SCOPE_IDENTITY())
exec('create table '+@tbName+'(questionType char(10),questionID char(10))')
end
else
begin
set @result=-1
end
GO