Sql 如何在一次查询执行中创建视图并从中进行选择

Sql 如何在一次查询执行中创建视图并从中进行选择,sql,sql-server,Sql,Sql Server,我想创建一个veiw,然后在一个查询中从中进行选择,请告诉我如何可能使用以下代码: create view myView as select [Order Details].Discount from [Order Details] select * from myView 如果我想运行代码,首先我必须选择与创建视图相关的部分,然后我必须选择与从该视图中选择相关的下一部分。我想知道当我们执行查询时,这两个查询一起运行的方式——创建视图,然后执行select 现在我想补充一点,如果一旦我创建了该

我想创建一个veiw,然后在一个查询中从中进行选择,请告诉我如何可能使用以下代码:

create view myView as
select [Order Details].Discount from [Order Details]
select * from myView
如果我想运行代码,首先我必须选择与创建视图相关的部分,然后我必须选择与从该视图中选择相关的下一部分。我想知道当我们执行查询时,这两个查询一起运行的方式——创建视图,然后执行select


现在我想补充一点,如果一旦我创建了该VEW,另一次SQL给了我错误。我怎样才能解决这个问题??这意味着只需创建一次对象

只需在命令生效后写下Go即可

create view myView as
select [Order Details].Discount from [Order Details]
Go
select * from myView
Go
如果不需要视图,也可以使用CTE

-- Define the CTE expression name and column list.
WITH Sales_CTE (Discount)
AS
-- Define the CTE query.
(
    select [Order Details].Discount from [Order Details]
)
-- Define the outer query referencing the CTE name.
SELECT *
FROM Sales_CTE

您也可以为此使用
exec

IF OBJECT_ID('dbo.myView','V') IS NULL
    EXEC ('create view dbo.myView as
    select [Order Details].Discount from [Order Details]
    ')

SELECT * FROM myView

现在我想补充一点,如果一旦我创建了这个VEW,另一次SQL给了我错误。我怎样才能解决这个问题??意思是只创建一次对象不,史密斯先生,不幸的是,您的代码不工作,出现了一个错误,请帮助我。不,问题解决了,这是我这边的语法错误。非常感谢。