日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全

發布時間:2023/12/2 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PL / SQL是SQL的高級版本。給出了帶有答案的PL / SQL面試問題的最高列表。

1)什么是PL / SQL?

PL / SQL代表對SQL的過程語言擴展。它支持編程語言和SQL的過程功能。它是由Oracle Corporation在90年代初開發的, 目的是增強SQL的功能。

2)使用PL / SQL的目的是什么?

PL / SQL是SQL的擴展。盡管SQL是非過程性的, 但PL / SQL是Oracle設計的過程性語言。發明它是為了克服SQL的局限性。

3)PL / SQL的最重要特征是什么?

一些重要特征的列表:

PL / SQL是一種塊結構語言。

它可移植到所有支持Oracle的環境中。

PL / SQL與Oracle數據字典集成在一起。

存儲過程有助于更好地共享應用程序。

4)什么是PL / SQL表?為什么使用它?

類型表的對象稱為PL / SQL表, 其建模為數據庫表。我們也可以說PL / SQL表是提供數組的一種方法。數組就像內存中的臨時表一樣, 可以非常快速地進行處理。 PL / SQL表用于移動批量數據。它們簡化了移動的數據收集。

5)PL / SQL中有哪些可用的數據類型?

PL / SQL中有兩種類型的數據類型:

標量數據類型示例為NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN等。

復合數據類型的示例是RECORD, TABLE等。

6)PL / SQL的基本結構是什么?

PL / SQL使用BLOCK結構作為其基本結構。每個PL / SQL程序都由構成PL / SQL塊的SQL和PL / SQL語句組成。

PL / SQL塊包含3個部分。

聲明部分(可選)

執行科(強制性)

異常處理部分(可選)

7)PL / SQL中的FUNCTION, PROCEDURE和PACKAGE有什么區別?

函數:PL / SQL函數的主要目的通常是計算并返回單個值。函數在其規范中具有返回類型, 并且必須返回該類型中指定的值。

過程:過程沒有返回類型, 并且不應返回任何值, 但是它可以具有一個return語句, 該語句只是簡單地停止執行并返回給調用方。一個過程用于返回多個值, 否則它通常類似于一個函數。

包:包是架構對象, 將邏輯上相關的PL / SQL類型, 項目和子程序分組。你也可以說它是一組函數, 過程, 變量和記錄類型的語句。它提供了模塊化功能, 因為它有助于應用程序開發。它用于隱藏未經授權的用戶的信息。

8)什么是例外?什么是例外類型?

異常是PL / SQL的錯誤處理部分。有兩種類型的異常:pre_defined異常和user_defined異常。

9)如何編寫一個將單詞串聯在一起的語句?和”世界”?并將其分配給名為Greeting的變量?

問候語:=’Hello’|| ‘世界’;

10)PL / SQL是否支持CREATE命令?

不可以。PL/ SQL不支持CREATE等數據定義命令。

11)編寫函數和存儲過程之間的唯一區別。

當存儲過程不返回值時, 函數返回值。

12)異常與錯誤有何不同?

每當發生錯誤時, 就會發生異常。錯誤是錯誤, 而異常是警告或錯誤情況。

13)使用索引的主要原因是什么?

更快地訪問表中的數據塊。

14)什么是PL / SQL例外?告訴我任何三個。

Too_many_rows

沒有找到數據

值錯誤

Zero_error等

15)如何聲明用戶定義的異常?

你可以在DECLARE部分下使用關鍵字EXCEPTION聲明用戶定義的異常。

語法

EXCEPTION;

16)PL / SQL中有哪些預定義的例外?

PL / SQL中的預定義異常列表:

DUP_VAL_ON_INDEX

ZERO_DIVIDE

沒有找到數據

TOO_MANY_ROWS

CURSOR_ALREADY_OPEN

無效號碼

INVALID_CURSOR

PROGRAM_ERROR

超時_ON_RESOURCE

STORAGE_ERROR

LOGON_DENIED

VALUE_ERROR

等等

17)PL / SQL中的觸發器是什么?

觸發器是存儲在數據庫中的PL / SQL程序。它在執行INSERT, UPDATE和DELETE命令之前或之后立即執行。

18)可以在一個表上應用的最大觸發器數是多少?

12個觸發器。

19)PL / SQL中存在幾種類型的觸發器?

PL / SQL中有12種類型的觸發器, 包含BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE和ALL關鍵字的組合。

在所有行插入之前

所有行插入后

插入之前

插入后等

20)執行觸發器和存儲過程有什么區別?

觸發器將自動執行, 而無需用戶執行任何操作, 而存儲過程則由用戶顯式調用。

21)將觸發器與視圖關聯時會發生什么?

當觸發器與視圖關聯時, 通常會啟用基表觸發器。

22)觸發器中WHEN子句的用途是什么?

WHEN子句指定要觸發的觸發器必須為真的條件。

23)如何禁用觸發器名稱update_salary?

ALTER TRIGGER update_salary DISABLE;

24)使用哪個命令刪除觸發器?

DROP TRIGGER命令。

25)在執行數據庫觸發器時, 兩個可用的虛擬表是什么?

表列稱為THEN.column_name和NOW.column_name。

對于與INSERT相關的觸發器, NOW.column_name值僅可用。

對于與DELETE相關的觸發器, THEN.column_name值僅可用。

對于與UPDATE相關的觸發器, 兩個Table列均可用。

26)什么是存儲過程?

存儲過程是執行一個或多個特定功能的語句序列或命名的PL / SQL塊。它類似于其他編程語言中的過程。它存儲在數據庫中, 并且可以重復執行。它存儲為架構對象。它可以嵌套, 調用和參數化。

27)使用PL / SQL可以創建哪些不同的模式對象?

存儲過程和功能

配套

扳機

游標

28)你對PL / SQL游標了解什么?

Oracle使用工作區來執行SQL命令。 Oracle處理SQL命令時, 它將在內存中打開一個稱為”專用SQL區域”的區域。該區域由光標標識。它允許程序員命名該區域并訪問其信息。

29)隱式游標和顯式游標之間有什么區別?

隱式游標由Oracle隱式聲明。這是所有僅返回一行的DDL和DML命令的光標。

為返回多行的查詢創建顯式游標。

30)你將通過游標屬性SQL%ROWCOUNT得到什么?

游標屬性SQL%ROWCOUNT將返回由SQL語句處理的行數。

31)你將通過游標屬性SQL%FOUND得到什么?

如果至少處理了一行, 它將返回布爾值TRUE。

32)你將通過游標屬性SQL%NOTFOUND得到什么?

如果未處理任何行, 則返回布爾值TRUE。

33)你對PL / SQL包了解什么?

可以將PL / SQL包指定為一個文件, 該文件將功能, 游標, 存儲過程和變量集中在一個位置。

34)PL / SQL包的兩個不同部分是什么?

PL / SQL軟件包包含以下兩個部分:

規范部分:指定用于定義應用程序接口的部分。

正文部分:此部分指定在何處定義規范的實現。

35)使用哪個命令刪除軟件包?

DROP PACKAGE命令用于刪除軟件包。

36)如何執行存儲過程?

有兩種執行存儲過程的方法。

在SQL提示符下, 寫EXECUTE或EXEC, 后跟procedure_name。

EXECUTE or [EXEC] procedure_name;

只需使用過程名稱

procedure_name;

37)存儲過程的優點是什么?

模塊化, 可擴展性, 可重用性, 可維護性和一次編譯。

38)在PL / SQL中使用哪些游標屬性?

%ISOPEN:它檢查游標是否打開。

%ROWCOUNT:返回受DML操作影響的行數:INSERT, DELETE, UPDATE, SELECT。

%FOUND:它檢查游標是否已獲取任何行。如果是, 則為TRUE。

%NOTFOUND:它檢查游標是否已獲取任何行。如果否-TRUE。

39)語法錯誤和運行時錯誤有什么區別?

PL / SQL編譯器可以輕松檢測到語法錯誤。例如:拼寫錯誤等, 而運行時錯誤則通過PL / SQL塊中的異常處理部分進行處理。例如:SELECT INTO語句, 不返回任何行。

40)解釋Commit語句。

對于Commit語句, 滿足以下條件:

其他用戶可以查看交易所做的數據更改。

交易獲得的鎖被釋放。

交易完成的工作成為永久性的。

41)解釋回滾語句?

事務結束時發出Rollback語句。以下條件適用于Rollback語句:

過渡中完成的工作被撤消, 就好像從未發布過一樣。

交易獲得的所有鎖均被釋放。

42)解釋SAVEPOINT語句。

使用SAVEPOINT, 只能撤消部分事務。

43)什么是變異表錯誤?

當觸發器嘗試更新其當前正在使用的行時, 發生突變表錯誤。它通過使用視圖或臨時表來修復。

44)什么是一致性?

一致性只是意味著每個用戶都能看到一致的數據視圖。

考慮一個例子:有兩個用戶A和B。A將錢轉入B的帳戶。在這里, 更改將在A的帳戶(借方)中更新, 但直到將其更新為B的帳戶(貸方)為止, 然后其他用戶才能看到A的帳戶的借方。在借記A和貸記B之后, 可以看到更新。那是一致性。

45)什么是光標, 為什么需要它?

游標是執行SQL語句時在系統內存中創建的臨時工作區。

游標包含有關select語句和它所訪問的數據行的信息。該臨時工作區存儲從數據庫檢索的數據并處理該數據。游標可以容納多于一行, 但一次只能處理一行。需要游標來單獨處理查詢行。

46)PL / SQL中有多少種游標可用?

PL / SQL中有兩種游標類型。

隱式游標, 以及

顯式游標

Java OOP面試問題

Java字符串和異常面試問題

JDBC面試問題

JSP面試問題

休眠面試問題

SQL面試題

Android面試題

MySQL面試問題

Java基礎面試問題

Java多線程面試問題

Java Collection面試題

Servlet面試問題

春季面試問題

PL / SQL面試問題

Oracle面試問題

SQL Server面試問題

總結

以上是生活随笔為你收集整理的oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。