读书人

这个过程有错?该怎么解决

发布时间: 2012-03-04 11:13:33 作者: rapoo

这个过程有错?
if exists(select name from sysobjects where name= 'Tview ' and type= 'P ')
drop procedure Tview
go

create procedure Tview
(@deptname varchar(15))
as
declare @sql varchar(2000)

set @sql= 'create view choice_view as select * from choice where left(course_no,2)
in
(select dept_no from dept where dept_name= '+ ' ' '+@deptname+ ' ' '+ ') '

exec (@sql)

go

[解决办法]
可以的,主的代只要稍微修改即可。

if exists(select name from sysobjects where name= 'Tview ' and type= 'P ')
drop procedure Tview
go

create procedure Tview
(@deptname varchar(15))
as
if exists(select name from sysobjects where name= 'choice_view ' and type= 'V ')
drop view choice_view--加上代判choice_view是否存在,存在就先除

declare @sql varchar(2000)

set @sql= 'create view choice_view as select * from choice where left(course_no,2)
in
(select dept_no from dept where dept_name= ' ' '+ @deptname+ ' ' ') '--你的拼句的有,需要修改如此
exec(@sql)--全角的括改半角的

go

读书人网 >SQL Server

热点推荐