首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-03-04 
这个过程有错?ifexists(selectnamefromsysobjectswherename Tviewandtype P )dropprocedureTviewgocreat

这个过程有错?
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

热点排行