大家帮我看个 sql的 语句 (急)(10分)

  • 主题发起人 主题发起人 冰锋
  • 开始时间 开始时间

冰锋

Unregistered / Unconfirmed
GUEST, unregistred user!
存储过程,怎么把表名 做为参数?if那句 怎么写?那句老出错
我的@m_table里的值是从外部传来的
CREATE PROCEDURE usp_createtable
@m_table varchar (20)
AS
IF exists (select * from sysobjects where name= '@m_table')
DROP TABLE @m_table
GO
 
if .... then
 
name= '@m_table' 这里有错 ,作为参数 该怎么写?
 
--@m_table做为一个参数是不能直接写成 drop表的。
CREATE PROCEDURE usp_createtable
@m_table varchar (20)
AS
declare @sqlText varchar(3000)
IF exists (select * from sysobjects where name= '@m_table')
begin
set @sqlText = 'drop table ' + @m_table
exec (@sqlText)
end
GO
 
不要用引号

参数在前面就要斌好值
 
那if里的 句子呢?
 
楼上正解
 
CREATE PROCEDURE usp_createtable
@m_table varchar (20)
AS
declare @sqlText varchar(3000)
IF exists (select * from sysobjects where name=@m_table)
begin
set @sqlText = 'drop table ' + @m_table
exec (@sqlText)
end
GO
 
搞定了 谢谢
 
多人接受答案了。
 

Similar threads

后退
顶部