插入数据的存储过程错误!!!,高的莫名其妙

qushui 2003-08-20 10:00:42
存储过程内容如下
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/**
* Add send log to db
*/

CREATE PROCEDURE e_addnew_subscribe_send_log
@esl_id int,
@et_id int,
@es_id int,
@essl_code int,
@essl_desc nvarchar(2000)
AS
declare @str nvarchar(4000)
set @str=N'INSERT INTO e_subscribe_send_log_'+cast(@esl_id as Nvarchar(10))+N' (et_id, es_id, essl_code, essl_desc) VALUES ('+cast(@et_id as Nvarchar(10))+N','+cast(@es_id as Nvarchar(10))+N','+cast(@essl_code as Nvarchar(10))+N','+cast(@essl_desc as Nvarchar(1000))+N')'
exec(@str)

GO


=============================================
执行
dbo.e_addnew_subscribe_send_log 8,10,2,255,'ssaas'


=================================================
错误如下
服务器: 消息 128,级别 15,状态 1,行 1
在此上下文中不允许使用 'ssaas'。此处只允许使用常量、表达式或变量。不允许使用列名。
...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyFor 2003-08-20
  • 打赏
  • 举报
回复
TRY:


CREATE PROCEDURE e_addnew_subscribe_send_log
@esl_id int,
@et_id int,
@es_id int,
@essl_code int,
@essl_desc nvarchar(2000)
AS
declare @str nvarchar(4000)
set @str=N'INSERT INTO e_subscribe_send_log_'+cast(@esl_id as Nvarchar(10))+N' (et_id, es_id, essl_code, essl_desc) VALUES ('+cast(@et_id as Nvarchar(10))+N','+cast(@es_id as Nvarchar(10))+N','+cast(@essl_code as Nvarchar(10))+N','''+cast(@essl_desc as Nvarchar(1000))+N''')'
exec(@str)

GO
CrazyFor 2003-08-20
  • 打赏
  • 举报
回复
TRY:


CREATE PROCEDURE e_addnew_subscribe_send_log
@esl_id int,
@et_id int,
@es_id int,
@essl_code int,
@essl_desc nvarchar(2000)
AS
declare @str nvarchar(4000)
set @str=N'INSERT INTO e_subscribe_send_log_'+cast(@esl_id as Nvarchar(10))+N' (et_id, es_id, essl_code, essl_desc) VALUES ('+cast(@et_id as Nvarchar(10))+N','+cast(@es_id as Nvarchar(10))+N','+cast(@essl_code as Nvarchar(10))+N','''+cast(@essl_desc as Nvarchar(1000))+N''')'
exec(@str)

GO
CrazyFor 2003-08-20
  • 打赏
  • 举报
回复
TRY:


CREATE PROCEDURE e_addnew_subscribe_send_log
@esl_id int,
@et_id int,
@es_id int,
@essl_code int,
@essl_desc nvarchar(2000)
AS
declare @str nvarchar(4000)
set @str=N'INSERT INTO e_subscribe_send_log_'+cast(@esl_id as Nvarchar(10))+N' (et_id, es_id, essl_code, essl_desc) VALUES ('+cast(@et_id as Nvarchar(10))+N','+cast(@es_id as Nvarchar(10))+N','+cast(@essl_code as Nvarchar(10))+N','''+cast(@essl_desc as Nvarchar(1000))+N''')'
exec(@str)

GO
pengdali 2003-08-20
  • 打赏
  • 举报
回复
CREATE PROCEDURE e_addnew_subscribe_send_log
@esl_id int,
@et_id int,
@es_id int,
@essl_code int,
@essl_desc nvarchar(2000)
AS
declare @str nvarchar(4000)
set @str=N'INSERT INTO e_subscribe_send_log_'+cast(@esl_id as Nvarchar(10))+N' (et_id, es_id, essl_code, essl_desc) VALUES ('+cast(@et_id as Nvarchar(10))+N','+cast(@es_id as Nvarchar(10))+N','+cast(@essl_code as Nvarchar(10))+N','''+cast(@essl_desc as Nvarchar(1000))+N''')'
exec(@str)

GO

34,575

社区成员

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

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