存储过程进行检查时总提示错误(50分)

Y

ycrsjxy

Unregistered / Unconfirmed
GUEST, unregistred user!
我写一存储过程,目的通过两个参数(表名,将一个表某些记录复制到另外一个表
create procedure createkstable @createtable nvarchar,@tablename nvarchar
as
begin
select * into @createtable from @tablename
end
进行检查时总提示错误?错误在哪?该怎么实现?另外在SQL2000怎样用命令检查某一表
是否在数据库存在?
 
execute('select * into '+ @createtable+' from '+ @tablename)
要用动态执行啦
 
表名不能当作参数直接传过去的, 只能使用动态sql语句,
如 exec 'select * from '+@tablename
上面的@tablename 是一个字符型变量,你可以把一个表名当字符串传入.

查找sysobjects表的name字段,type为u的,你一看就知道怎么判断这个表是否存在了.
 
楼上是正确的,表名不能通存储过程的参数传的。
 
同意楼上的看法
 
接受答案了.
 
顶部