⑴ 視圖和存儲過程有什麼區別,什麼時候用視圖和存儲過程
1、存儲過程是程序化的sql可以實現一般sql不能實現的功能。
如:先檢索一個表得到一些數據,經過一定的編輯後更新到另外一個表中、這就可以用不帶參數的存儲過程實現。
2、視圖是虛擬表,不存儲數據,存儲的是sql,檢索他的時候實際上是執行定義它的sql語句。
⑵ 請問一下,調用視圖和調用存儲過程一樣嗎
視圖不需要使用存儲過程調用的方法去處理的!
你可以把視圖作為普通表去操作就塵前可以了!~
有正逗問題追問,good
luck!派清清~
⑶ 資料庫中創建視圖和索引還有存儲過程起什麼作用
視圖可以被看成是虛擬表或存儲查詢。可通過視圖訪問的數據不作為獨特的對象存儲在資料庫內。資料庫內存儲的是 SELECT 語句。SELECT 語句的結果集構成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在 Transact-SQL 語句中通過引用視圖名稱來使用虛擬表。使用視圖可以實現下列任一或所有功能:
將用戶限定在表中的特定行上。
例如,只允許雇員看見工作跟蹤表內記錄其工作的行。
將用戶限定在特定列上。
例如,對於那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。
將多個表中的列聯接起來,使它們看起來象一個表。
聚合信息而非提供詳細信息。
例如,顯示一個列的和,或列的最大值和最小值。
------------------
資料庫中的索引與書籍中的索引類似。在一本書中,利用索引可以快速查找所需信息,無須閱讀整本書。在資料庫中,索引使資料庫程序無須對整個表進行掃描,就可以在其中找到所需數據。
------------------
存儲過程可以使得對資料庫的管理、以及顯示關於資料庫及其用戶信息的工作容易得多。存儲過程是 SQL 語句和可選控制流語句的預編譯集合,以一個名稱存儲並作為一個單元處理。存儲過程存儲在資料庫內,可由應用程序通過一個調用執行,而且允許用戶聲明變數、有條件執行以及其它強大的編程功能。
存儲過程可包含程序流、邏輯以及對資料庫的查詢。它們可以接受參數、輸出參數、返回單個或多個結果集以及返回值。
可以出於任何使用 SQL 語句的目的來使用存儲過程,它具有以下優點:
可以在單個存儲過程中執行一系列 SQL 語句。
可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列復雜語句。
存儲過程在創建時即在伺服器上進行編譯,所以執行起來比單個 SQL 語句快。
⑷ 資料庫存儲過程和視圖一般什麼時候用
存儲過程一般用於處理比較復雜的任務
存儲過程不僅僅適用於大型項目,對於中小型項目,使用存儲過程也是非常有必要的。其威力和優勢主要體現在:
1.存儲過程只在創造時進行編譯,以後每次執行存儲過程都不需再重新編譯,而一般 SQL 語句每執行一次就編譯一次,所以使用存儲過程可提高資料庫執行速度。
2.當對資料庫進行復雜操作時(如對多個表進行 Update,Insert,Query,Delete 時),可將此復雜操作用存儲過程封裝起來與資料庫提供的事務處理結合一起使用。這些操作,如果用程序來完成,就變成了一條條的 SQL 語句,可能要多次連接資料庫。而換成存儲,只需要連接一次資料庫就可以了。
3.存儲過程可以重復使用,可減少資料庫開發人員的工作量。
視圖使用方案
視圖通常用來集中、簡化和自定義每個用戶對資料庫的不同認識。視圖可用作安全機制,方法是允許用戶通過視圖訪問數據,而不授予用戶直接訪問視圖基礎表的許可權。
⑸ sql server中的視圖有什麼用和存儲過程有什麼區別他的好處是什麼
視圖通常用於封裝一個邏輯表
比如:
學生表我只想查看姓名,那麼就可以通過視圖將他封裝成一個只查看姓名的邏輯表,以後直接調用這個表就能查看學生的姓名
存儲過程就好比編程語言裡面的函數、方法,通常對某一功能的封裝,方便重復調用:
比如:
我要查看學生的總分,那麼就可以把他寫成一個存儲過程,以後直接調用,不必重復編寫這段Sql語句
⑹ 資料庫中創建視圖和索引還有存儲過程起什麼作用
視圖就是為了方便查看數據,比如說一個表有幾千個欄位,但常用的就那麼十來個,我就可以把那十來個歸集未一個視圖,省得查詢表要找來找去的麻煩,再比如說學生表和教師表,我要知道哪個學生是由那個教師教的,就要兩個表關鄭前聯起來看,為了方便我可以直接把他們做成一張視圖,查詢視圖就都出來了。索引就相當於給數據打個編號,用來提高效率的賀敬,當然要用對才有效果。存儲過程就是用來處理數據,事物等的一個邏輯集合,比如一個存儲過程接收到一個參數用戶出生時間20020601,但在表中要存注冊時間,用戶年齡,用戶生日,就可以在存儲過程中將注冊時間:當前時間,用戶年齡禪叢慎 :當前時間-出生時間,用戶生日:截取月份和號數這些數據處理後再存入到表
⑺ 用ASP調用SQL Server的視圖和存儲過程
一 前言 ASP (Active Server Pages) 是伺服器端的腳本編寫環境 它由微軟公司的IIS 以上版本支持 它可用來創建動態 Web 頁或生成功能強大的 Web應用程序 ASP頁是包括 HTML 標記 文本和腳本命令的文件 ASP頁可調用ActiveX組件來執行任務 例如連接到資料庫或進行商務計算 通過ASP 可為您的Web頁添加交互內容或用HTML頁構成整個Web應用程序 這些應用程序使用HTML頁作為您的客戶的界面 二 ASP模型 如圖 所示 瀏覽器從Web伺服器上請求 asp文件時 ASP 腳本開始運行 然後Web伺服器調用ASP ASP全面讀取請求的文件 執行所有腳本命令 並將Web頁傳送給瀏覽器 ASP提供了一個在HTML頁中使用現有腳本語言如 Microsoft VBScript 和 Microsoft JScript 的框架 ASP提供內建對象 這些對象使用戶更容易收集通過瀏覽器請求發送的信息 響應瀏覽器以及存儲用戶信息 包括Application Request Response Server Session 和ObjectContext 對象 其中最為常用的為Request Response 和Server三個對象 它們分別用於從瀏覽器請求信息 向瀏覽器發送信息和訪問伺服器上兄碧對象的屬性和拍塵帶方法 三 ADO ASP和後台資料庫連接使用微軟的ADO(ActiveX Data Objects) ADO是一項容易使用並且可擴展的將資料庫訪問添加到Web頁的技術 可以使用ADO去編寫緊湊簡明的腳本以便連接到Open Database Connectivity(ODBC)兼容的資料庫和 OLE DB兼容的數據源 ADO包含 個內置對象 它們分別為Connection Command RecordSet Fields Error Parameters和Properties 通過這些對象 ASP可以完成對後台資料庫的所有操作 四 ASP調用視圖和存儲過程 在一般的MIS應用中 會有大量的報表 此時我們可以在後台資料庫編寫相應的視圖或存儲過程 用ASP通過ADO調用以完成報表工作 下面用一個例子說明相應的操作過程 創建 ODBC DSN 文件 在創建資料庫腳本之前 必須提供一條使ADO定位 標識和與資料庫通訊的途徑 資料庫驅動程序使用Data Source Name (DSN) 定位和標識特定的ODBC兼容資料庫 將信息從 Web 應用程序傳遞給資料庫 調用資料庫視圖 訪問資料庫信息的第一步是和資料庫源建立連接 ADO提供Connection對象 可以使用該對象建立和管理應用程序和 ODBC資料庫之間的連接 <% Set Dataconn = Server.CreateObject("ADODB.Connection") '建立連接對象 Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes" Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命襲蘆令對象 Set rst= Server.CreateObject("ADODB.Recordset") '建立記錄集對象 cmdTemp.CommandText = "Customers " cmdTemp.CommandType = 2 Set cmdTemp.ActiveConnection = DataConn rst.Open cmdTemp, , 1, 3 '生成查詢結果 %> 此時 Customers為視圖 從視圖中查詢數據與從基表中查詢數據的方法是相同的 調用資料庫存儲過程 <% Set Dataconn = Server.CreateObject("ADODB.Connection") '建立連接對象 Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes" Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令對象 Set rst = Server.CreateObject("ADODB.Recordset") '建立記錄集對象 cmdTemp.CommandText = "dbo.pd_test" '存儲過程名稱 cmdTemp.CommandType = 4 '命令類別為4,表示為存儲過程 Set cmdTemp.ActiveConnection = Dataconn Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4) cmdTemp.Parameters.Append tmpParam Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi) '創建輸入參數對象 cmdTemp.Parameters.Append tmpParam rst.Open cmdTemp, , 1, 3 '生成查詢結果 %> 這里調用的存儲過程為pd_test 這種是ADO中提供的標准方法 但存在一個問題 就是當在存儲過程中有兩個以上的SELECT語句 但從邏輯上又不可能同時執行的時候 ADO會提示你存儲過程中SELECT語句太多 解決方法是直接用ADO的CONNECTION對象的EXECUTE方法直接執行存儲過程 如下 <% Set Dataconn = Server.CreateObject("ADODB.Connection") '建立連接對象 Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes" ss = "EXECUTE dbo.pd_test " & "'" & riqi1 & "'" Set rs = dataconn.Execute(ss) %> 有關ASP和ADO使用的詳細信息 請參閱 Microsoft ActiveX Data Objects (ADO) 和Active Server Pages(ASP)的詳細參考 五 結束語 在B/S結構的開發中 我們可以把一些商業規則或復雜查詢用存儲過程在DBMS中編寫 然後用ASP中的ADO對象調用 完成原來C/S結構中的傳統功能 lishixin/Article/program/SQLServer/201311/22230
⑻ oracle 11G中 怎樣導入 視圖和存儲過程
利用客戶端軟體OBJECT BROWSER或者PLSQL
表示菜單中有一個腳本羨銀實行項,打開,把你卜派舉的視圖和存儲過程的SQL文件選擇好型碧後,點擊實行就好了.
⑼ 存儲過程和視圖有什麼區別
兩者差得多了,視圖只是一個查詢結果集,存儲過程除了可以查詢操作以外,還可以執行增、刪、改等操作
⑽ sql中的視圖與存儲過程有什麼不同的
sql中視圖(view)和存儲過程(procere)的區別:
View本身就是顯示一個表格,View可以顯示出表格,但是VIEW本身並沒有包括任何數據,view也不接受參數,所以其實view就是一個虛擬的表格,而不是實際的,所以在需要參數的時候,需要提前在建立view的時候定義好。VIEW一般是給外部非專業IT人員使用,因為你可以隨意修改名稱並限定輸出的內容。
Procere就像是執行子查詢表格,接受參數,你可以用where或者order
by這樣的參數經行進一步的定義
Procere被定義出來之後,非常的方便,下次如果需要調用相同的命令,就直接把procere名字打上去就能顯示結果,通常為內部人員使用。