create procedure proc1 @intId int output as select @intID=convert(int, (select max(id) from table))
create procedure proc1 @intId int output as select @intID=cast((select max(id) from table) as int) print @intid go declare @intid int exec proc1 @intid output go
不好意思,我的表中的ID的类型是char的
那就再加两个参数,然后用动态sql
我这样写怎么也不能通过: create procedure InsertToTable( @Tables char(25) ='JBXX', @KeyFields char(25) = 'ID', @MaxFields char(25) output ) declear @IIII int; select @MaxFields = Max(@KeyFields) from +@Tables set @IIII = INT(MaxField) set @MaxField = STR(@IIII+1) insert into @Tables (@KeyFields) values (@MaxFields)
as
select @intID=convert(int, (select max(id) from table))
as
select @intID=cast((select max(id) from table) as int)
print @intid
go
declare @intid int
exec proc1 @intid output
go
create procedure InsertToTable(
@Tables char(25) ='JBXX',
@KeyFields char(25) = 'ID',
@MaxFields char(25) output
)
declear @IIII int; select @MaxFields = Max(@KeyFields) from +@Tables
set @IIII = INT(MaxField)
set @MaxField = STR(@IIII+1)
insert into @Tables (@KeyFields) values (@MaxFields)