我想通过存储过程实现,表名做为参数传进去,不知道如何解决!急!

eagle_hb 2003-08-19 04:40:28
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
delete from @tblName
GO
就像上面这样,可是delete from @tblName 有错误,不知道大家有没有好的方法
...全文
73 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
eagle_hb 2003-08-20
  • 打赏
  • 举报
回复
好了,真的很感谢大家,散分了。!
wuqiuzhi 2003-08-20
  • 打赏
  • 举报
回复
这是存储过程。
CREATE PROCEDURE test
@tblName varchar(50),
@col1 varchar(50)
AS
declare @sql varchar(200)

set @sql='select '+ @col1+' from '+@tblName +'/*※此处加上一个空格试一下※*/ where '+@col1+'=''a'''

exec(@sql)
GO
eagle_hb 2003-08-20
  • 打赏
  • 举报
回复
UP一下。
eagle_hb 2003-08-20
  • 打赏
  • 举报
回复
这是存储过程。
CREATE PROCEDURE test
@tblName varchar(50),
@col1 varchar(50)
AS
declare @sql varchar(200)

set @sql='select '+ @col1+' from '+@tblName +'where '+@col1+'=''a'''

exec(@sql)
GO
表结构如下:表名tbl,
col1
----
a
b
c
d

执行exec test 'tbl','col1'
我通过查找出来总是说:
服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: '=' 附近有语法错误。

还是出错呀。。。。。。

yangvxin1 2003-08-19
  • 打赏
  • 举报
回复
where 前要有空格.呵呵。

CREATE PROCEDURE LawLogin
@tblName varchar(50),
@col1 varchar(50)
AS

declare @sql varchar(200)

set @sql='select '+ @col1+' from '+@tblName +' where '+@col1+'=''a'''

exec(@sql)

GO
yangvxin1 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
@col1 varchar(50)
AS

declare @sql varchar(200)

set @sql='select '+ @col1+' from '+@tblName +'where '+@col1+'=''a'''

exec(@sql)

GO

xhwly 2003-08-19
  • 打赏
  • 举报
回复
可能是where 前面沒有空格
@sql='select '+ @col1+' from '+@tblName +' where '+ @col1+'=''a'' '
eagle_hb 2003-08-19
  • 打赏
  • 举报
回复
UP!!
eagle_hb 2003-08-19
  • 打赏
  • 举报
回复
'=' 附近有语法错误。还是不行呀
liukaiii 2003-08-19
  • 打赏
  • 举报
回复
@sql='select '+ @col1+' from '+@tblName +'where '+@col1+'=''a'' '
eagle_hb 2003-08-19
  • 打赏
  • 举报
回复
UP,解决马上散分!!!
eagle_hb 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
@col1 varchar(50)
AS
delcare @sql varchar(200)
@sql='select '+ @col1+' from '+@tblName +'where '+@col1+'=a'
exec(@sql)
GO
这里=号出错了,如何解决了。。a 是字符常量。


hjb111 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
exec('delete from '+@tblName)
GO
eagle_hb 2003-08-19
  • 打赏
  • 举报
回复
谢谢大家如果像以下这样呢???
CREATE PROCEDURE LawLogin
@tblName varchar(50),
@col1
AS
select @col1 from @tblName
GO
haozhiyuan2003 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
exec ('delete from '+@tblName)
GO
愉快的登山者 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
exec ('delete from '+@tblName)
GO


愉快的登山者


◢◣◢◣◢◣
dddd8888 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
begin
declare @var varchar(100)

set @var = 'delete from ' + "'@tblname'"

exec(@var)
end
愉快的登山者 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
exec ('delete from '+@tblName)
GO


愉快的登山者


◢◣◢◣◢◣
LiaoCheng 2003-08-19
  • 打赏
  • 举报
回复

CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
declare @sql varchar(200)
@sql='delete from ' + @tblname
exec (@sql)
GO
愉快的登山者 2003-08-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE LawLogin
@tblName varchar(50),
AS
exec ('delete from '+@tblName_
GO


愉快的登山者


◢◣◢◣◢◣

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧