ALTER PROCEDURE InsertoBook
(
/*用于添加图书*/
@TableName varchar(50),
@BookName varchar(100),
@BookLength varchar(10),
@BookShortIntroduction varchar(100),
@BookIntroduction text,
@BookType varchar(50),
@BookSubType varchar(50),
@BookLanguage varchar(5),
@FileType varchar(5),
@FileFullName varchar(100),
@BookClass varchar(50),
@BookSubClass varchar(50)
)
AS
BEGIN
EXEC('INSERT INTO'+' '+@TableName+' '+'(BookId,BookName,BookLength,BookShortIntroduction,BookIntroduction,BookType,BookSubType,BookLanguage,CreatTime,DownLoadCounts,FileType,FileFullName,BookClass,BookSubClass) VALUES (DEFAULT,'+@BookName+','+@BookLength+','+@BookShortIntroduction+','+@BookIntroduction+','+@BookType+','+@BookSubType+','+@BookLanguage+',DEFAULT,DEFAULT,'+@FileType+','+@FileFullName+','+@BookClass+','+@BookSubClass+')')
END老是录入不了,第一个参数就没通过,我用过不带参数的,成功录入,说明各字段没问题,感觉是分界符 ' 的题,今天弄了好久啦,请有经验的朋友抽空帮改一下,本来我是写在一行的,可论坛这里却长度不够,所以看起来可能麻点.(参数类型和表里的一样,表名除外)
(
/*用于添加图书*/
@TableName varchar(50),
@BookName varchar(100),
@BookLength varchar(10),
@BookShortIntroduction varchar(100),
@BookIntroduction text,
@BookType varchar(50),
@BookSubType varchar(50),
@BookLanguage varchar(5),
@FileType varchar(5),
@FileFullName varchar(100),
@BookClass varchar(50),
@BookSubClass varchar(50)
)
AS
BEGIN
EXEC('INSERT INTO'+' '+@TableName+' '+'(BookId,BookName,BookLength,BookShortIntroduction,BookIntroduction,BookType,BookSubType,BookLanguage,CreatTime,DownLoadCounts,FileType,FileFullName,BookClass,BookSubClass) VALUES (DEFAULT,'+@BookName+','+@BookLength+','+@BookShortIntroduction+','+@BookIntroduction+','+@BookType+','+@BookSubType+','+@BookLanguage+',DEFAULT,DEFAULT,'+@FileType+','+@FileFullName+','+@BookClass+','+@BookSubClass+')')
END老是录入不了,第一个参数就没通过,我用过不带参数的,成功录入,说明各字段没问题,感觉是分界符 ' 的题,今天弄了好久啦,请有经验的朋友抽空帮改一下,本来我是写在一行的,可论坛这里却长度不够,所以看起来可能麻点.(参数类型和表里的一样,表名除外)
(
/*用于添加图书*/
@TableName varchar(50),
@BookName varchar(100),
@BookLength varchar(10),
@BookShortIntroduction varchar(100),
@BookIntroduction text,
@BookType varchar(50),
@BookSubType varchar(50),
@BookLanguage varchar(5),
@FileType varchar(5),
@FileFullName varchar(100),
@BookClass varchar(50),
@BookSubClass varchar(50)
)AS
BEGINEXEC
('
INSERT INTO '+ @TableName +'(BookName,BookLength,BookShortIntroduction,BookIntroduction,BookType,BookSubType,BookLanguage,FileType,FileFullName,BookClass,BookSubClass)
VALUES ('''+@BookName+''','''+@BookLength+''','''+@BookShortIntroduction+''','''+@BookIntroduction+''','''+@BookType+''','''+@BookSubType+''','''+@BookLanguage+''','''+@FileType+''','''+@FileFullName+''','''+@BookClass+''','''+@BookSubClass+''')
')END
DEFAULT,...,DEFAULT,DEFAULT
-----------
什么意思,不支持这种语法,如果是默认值,不用管这些字段,SQL自动填上它们各自的默认值。createTime 可以用getedate()插入