IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'N_newrecord'
AND type = 'P')
DROP PROCEDURE N_newrecord
GOCREATE PROCEDURE N_newrecord
( @Tname [nvarchar](20),
@Fname [nvarchar](20),
@newID [int] output )
AS
exec('select @newID= max('+@Fname+')+1 from '+@Tname)
exec('insert into '+@tname+'('+@Fname+') values('+@newID+')')
go调用时报错:
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@newID'。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: ')' 附近有语法错误。不要光说原因,大家帮忙解决一下,答对者另外给分,呵呵
FROM sysobjects
WHERE name = N'N_newrecord'
AND type = 'P')
DROP PROCEDURE N_newrecord
GOCREATE PROCEDURE N_newrecord
( @Tname [nvarchar](20),
@Fname [nvarchar](20),
@newID [int] output )
AS
exec('select @newID= max('+@Fname+')+1 from '+@Tname)
exec('insert into '+@tname+'('+@Fname+') values('+@newID+')')
go调用时报错:
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@newID'。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: ')' 附近有语法错误。不要光说原因,大家帮忙解决一下,答对者另外给分,呵呵
解决方案 »
- SQL更新问题,请教高手一个问题
- ShareMemory的问题,急
- 关于RealPlayer 的ActiveX控件
- 再问我这个线程为什么在服务中没有执行?
- 两个小问题!!!请指教!再线等待!!!
- XML问题,请各位帮忙,高分!在线等待。。。。
- 出现错误 Invalid use of keyword. Token: = Line Number:2 我的代码有什么问题么?谢谢了~
- 如何删除WIN98中的多用户设置
- 那位知道Delphi中的动态数组在内存中是如何存放的,是链表的形式还是一块连续空间?
- 有兼职开发经验的高手请进来!!
- 谁能例举下面的字段"longid"的规律是什么,能举上些字段值给我吗?
- 能不能对一个非规则区域描边??
DROP PROCEDURE CrtProc_Move###
@Where VARCHAR(255),
@User VARCHAR(50),
@Section VARCHAR(50)
ASDECLARE @Single_No VARCHAR(50),@Disp_No VARCHAR(50) ,@Route_No VARCHAR(50),@Ret INT,@IsFirst bit --是否為第一工序SET @Ret=0IF EXISTS(SELECT name FROM sysobjects WHERE type='P' and name='CrtProc_Move###')
DROP PROCEDURE CrtProc_Move###
EXEC('CREATE PROCEDURE CrtProc_Move### @curMove CURSOR VARYING OUTPUT AS SET @curMove= CURSOR FOR SELECT Single_No,'+
'PrevRoute_No,IsFirst FROM Dispatch WHERE Status='+''''+'未完'+''''+' AND Single_No NOT IN (SELECT Disp_No FROM Proc_Movec) '+
@Where+' OPEN @curMove')
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'N_newrecord'
AND type = 'P')
DROP PROCEDURE N_newrecord
GOCREATE PROCEDURE N_newrecord
( @Tname [nvarchar](20),
@Fname [nvarchar](20),
@newID [int] output )
AS
exec('declare @new_ID int
select @new_ID= max('+@Fname+')+1 from '+@Tname +'
insert into '+@tname+'('+@Fname+') values (@new_ID)')go
现在是
exec('select @newID= max('+@Fname+')+1 from '+@Tname)
exec('insert into '+@tname+'('+@Fname+') values('+@newID+')')
这儿出错,我要的功能不能实现
exec把()中的内容作为一个存储过程进行处理,所以引号中的变量,必须在内部声明,我刚才才试过!
不巧,晚了!不好意思!嘿嘿1