这里一个存储过程
CREATE PROCEDURE area_add
(
@area varchar(10)='协会地区',
@上级id int=0,
@名称 varchar(10),
@类型 varchar(4)='省'
)
as
declare @orderid int
set @orderid=(select top 1 排序 from 省市县 where [上级id]=@上级id order by 排序 desc)
--先取得最大的排序号
execute ("insert into [省市县] (名称,上级id,类型,排序) values ('"+@名称+"',"+@上级id+",'"+@类型+"',"+@orderid+")")
GO
表结构如下:[省市县] (
[id]
[名称] [varchar]
[上级ID]
[类型] [varchar]
[排序] [int]
[协会地区] [bit]
[商业地区] [bit]
)问题是:检查语法都通过,但是在查询分析器中运行
area_add @名称='测试'提示错误;
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: ')' 附近有语法错误。各位兄台应该如何修改以上过程???
CREATE PROCEDURE area_add
(
@area varchar(10)='协会地区',
@上级id int=0,
@名称 varchar(10),
@类型 varchar(4)='省'
)
as
declare @orderid int
set @orderid=(select top 1 排序 from 省市县 where [上级id]=@上级id order by 排序 desc)
--先取得最大的排序号
execute ("insert into [省市县] (名称,上级id,类型,排序) values ('"+@名称+"',"+@上级id+",'"+@类型+"',"+@orderid+")")
GO
表结构如下:[省市县] (
[id]
[名称] [varchar]
[上级ID]
[类型] [varchar]
[排序] [int]
[协会地区] [bit]
[商业地区] [bit]
)问题是:检查语法都通过,但是在查询分析器中运行
area_add @名称='测试'提示错误;
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: ')' 附近有语法错误。各位兄台应该如何修改以上过程???
CREATE PROCEDURE area_add
(
@area varchar(10)='协会地区',
@上级id int=0,
@名称 varchar(10),
@类型 varchar(4)='省'
)
as
declare @orderid int
set @orderid=(select top 1 排序 from 省市县 where [上级id]=@上级id order by 排序 desc)
--先取得最大的排序号
execute ("insert into [省市县] (名称,上级id,类型,排序) values (@名称,@上级id,@类型,@orderid)")
GO
CREATE PROCEDURE area_add
(
@area varchar(10)='协会地区',
@上级id int=0,
@名称 varchar(10),
@类型 varchar(4)='省'
)
as
declare @orderid int
set @orderid=(select top 1 排序 from 省市县 where [上级id]=@上级id order by 排序 desc)
--先取得最大的排序号
insert into [省市县] (名称,上级id,类型,排序) values (@名称,@上级id,@类型,@orderid)
GO