如何用存储过程新建视图

ltolll 2006-09-20 03:04:38
我是这样写的:

CREATE procedure createCustomerView
as begin

create view vw_ChangeMemberID
as
select ChangeMemberID.*,CustomerInfo.[Name]
from ChangeMemberID,CustomerInfo
where ChangeMemberID.CusID = CustomerInfo.[ID]

END
可是却报错,"错误156:在关键字'view'附近有语法错误."
不知为何.
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltolll 2006-09-20
  • 打赏
  • 举报
回复
TO:jilate()
因为我的程序要新建数据库(包括里面的表、视图),我是通过程序调用存储过程来实现的,这些存储过程中保存新建表和视图的语句。
上面那个地址中是建视图时产生的问题。
ltolll 2006-09-20
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5035/5035776.xml?temp=.3159143
jilate 2006-09-20
  • 打赏
  • 举报
回复
不明白,为什么试图要在存储过程中创建
你直接在sql里面创建不可以吗?

如果在sp里面使用,大可以使用临时表啊
xiaoku 2006-09-20
  • 打赏
  • 举报
回复
CREATE procedure createCustomerView
as begin

create view vw_ChangeMemberID
as
select ChangeMemberID.*,CustomerInfo.[Name]
from ChangeMemberID,CustomerInfo
where ChangeMemberID.CusID = CustomerInfo.[ID]

END


存储过程里面不能直接运用create view 语句..
最好还是先作个限制:
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'reminder' AND type = 'TR')
DROP TRIGGER reminder
GO
ww3347 2006-09-20
  • 打赏
  • 举报
回复
CREATE procedure createCustomerView
as
begin

exec ('create view vw_ChangeMemberID
as
select ChangeMemberID.*,CustomerInfo.[Name]
from ChangeMemberID,CustomerInfo
where ChangeMemberID.CusID = CustomerInfo.[ID]')

END
splory 2006-09-20
  • 打赏
  • 举报
回复
--try

CREATE procedure createCustomerView
as begin

exec('create view vw_ChangeMemberID
as
select ChangeMemberID.*,CustomerInfo.[Name]
from ChangeMemberID,CustomerInfo
where ChangeMemberID.CusID = CustomerInfo.[ID]')

END

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧