❶ sql 視圖能否執行存儲過程及視圖是否能定義變數Declare @Date Datetime
視圖和存儲過程是兩種不同的執行,視圖不能執行存儲過程,由於不能執行存儲過程自然也就不能定義變數Declare @Date Datetime
❷ SQL的視圖是從( )中導出 在SQL語言中,建立存儲過程的命令是
SQL
SERVER中可以在存儲過程中創建視圖,但要用動態SQL來執行。
create
view
view_name
as
...
不能直接使用,
可以改為exec('create
view
view_name
as
...').
❸ 關於SQL SERVER存儲過程中創建視圖
SQL SERVER中可以在存儲過程中創建視圖,但要用動態SQL來執行。
create view view_name
as
...
不能直接使用, 可以改為exec('create view view_name
as
...').
你的可以改成
create proc ### as
begin
if exists (select * from sysobjects where name='***'and xtyp='v')
drop view ***;
exec('create view *** as
select A.xh,A.xm,sum(case when A.zy =B.value then B.code else 0) code
from A,B group by A.xh,A.xm
')
end
這樣改應該也可以
create proc ### as
declare @sqlstr varchar(255)
select @sqlstr='
if exists (select * from sysobjects where name=''***''and xtyp=''v'')
drop view ***;
create view *** as
select A.xh,A.xm,sum(case when A.zy =B.value then B.code else 0) code
from A,B group by A.xh,A.xm
'
exec(@sqlstr)
go
❹ sql中的視圖與存儲過程有什麼不同的
sql中視圖(view)和存儲過程(procere)的區別:
View本身就是顯示一個表格,View可以顯示出表格,但是VIEW本身並沒有包括任何數據,view也不接受參數,所以其實view就是一個虛擬的表格,而不是實際的,所以在需要參數的時候,需要提前在建立view的時候定義好。VIEW一般是給外部非專業IT人員使用,因為你可以隨意修改名稱並限定輸出的內容。
Procere就像是執行子查詢表格,接受參數,你可以用where或者order
by這樣的參數經行進一步的定義
Procere被定義出來之後,非常的方便,下次如果需要調用相同的命令,就直接把procere名字打上去就能顯示結果,通常為內部人員使用。
❺ sql server中的視圖有什麼用和存儲過程有什麼區別他的好處是什麼
視圖通常用於封裝一個邏輯表
比如:
學生表我只想查看姓名,那麼就可以通過視圖將他封裝成一個只查看姓名的邏輯表,以後直接調用這個表就能查看學生的姓名
存儲過程就好比編程語言裡面的函數、方法,通常對某一功能的封裝,方便重復調用:
比如:
我要查看學生的總分,那麼就可以把他寫成一個存儲過程,以後直接調用,不必重復編寫這段Sql語句
❻ 2008SQL 存儲過程中可以創建視圖嗎
存儲過程中可以創建視圖,但在創建之前先要判斷該視圖是否已經存在,如果存在的話需要先刪除再創建。
❼ sql2000 存儲過程在視圖中可以這樣用么怎麼實現
select 表1.列 ,表2.列,case when 表1.列+表2.列>90 then'優' when 表1.列+表2.列<90 and 表1.列+表2.列>80 then '良' else '' end 新列 from 表1,表2 where 。。。
❽ sql server視圖如何調用存儲過程
你的過程是做什麼用,你可以把過程轉換成函數,函數是在視圖中可以用的
以上,希望對你有所幫助!
❾ sql server如何在視圖中調用存儲過程
你的過程是做什麼用,你可以把過程轉換成函數,函數是在視圖中可以用的
以上,希望對你有所幫助!