有没有办法在存储过程中创建视图?急!

cuiweibing 2005-05-18 02:27:35
看一下我这个,不行

CREATE PROCEDURE UpClassIntegralYear
( @begin_dt char(19),
@end_dt char(19) )
AS
IF EXISTS(SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME='ViewClassIntegralYear')
DROP VIEW ViewClassIntegralYear
GO
CREATE VIEW ViewClassIntegralYear(GRADE_YEAR,CLASS_CODE,SHORT_NAME,TOTAL_SCORE)
AS
SELECT CLASS_CODE, SCORE
FROM dbo.CwbClassIntegral
WHERE (CREATE_DT BETWEEN ''+@begin_dt+'' AND ''+@end_dt+'')
GO
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwugui 2005-05-18
  • 打赏
  • 举报
回复
CREATE PROCEDURE dumpENGINEdata
@createtime varchar(40)
AS
EXEC(' create view test1 as select fd_fileid from tb_engine_filecommon where substring(FD_FILEID,11,8)<"@createtime"')
GO
zjcxc 2005-05-18
  • 打赏
  • 举报
回复
CREATE PROCEDURE UpClassIntegralYear
( @begin_dt char(19),
@end_dt char(19) )
AS
IF EXISTS(SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME='ViewClassIntegralYear')
DROP VIEW ViewClassIntegralYear
EXEC('
CREATE VIEW ViewClassIntegralYear(GRADE_YEAR,CLASS_CODE,SHORT_NAME,TOTAL_SCORE)
AS
SELECT CLASS_CODE, SCORE
FROM dbo.CwbClassIntegral
WHERE (CREATE_DT BETWEEN '''+@begin_dt+''' AND '''+@end_dt+''')')
GO
cuiweibing 2005-05-18
  • 打赏
  • 举报
回复
是不是不能在存储过程的sql语句中使用CREATE VIEW?
mengzulin 2005-05-18
  • 打赏
  • 举报
回复

CREATE procedure dbo.TEST
as
BEGIN
DECLARE @sql VARCHAR(1000)
if NOT exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MZL_AA]') and OBJECTPROPERTY(id, N'IsView') = 1)
BEGIN
SET @sql ='CREATE VIEW dbo.MZL_AA
AS SELECT [ID], [a] FROM [test].[dbo].[aa]'
EXEC(@sql)
END
END
GO
DECLARE @RC int
EXEC @RC = [test].[dbo].[createview]
GO
cuiweibing 2005-05-18
  • 打赏
  • 举报
回复
应该怎么写呀?
帮忙改一下行吗?
ziping 2005-05-18
  • 打赏
  • 举报
回复
" 双引号?这个好象是不可以吧
cuiweibing 2005-05-18
  • 打赏
  • 举报
回复
自己顶一下

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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