Pro C 基礎教程 簡化版 Vol5 基本增刪改

2021-08-30 16:15:16 字數 1786 閱讀 9859

主要介紹基本的crud操作語句以及相關知識點。

使用嵌入式insert語句一次插入一行或多行記錄

exec sql insert into talbe_name (***,***,***) value (:***,:***,:***);

exec sql begin declare section;

char aaa[100][20];

float bbb[100];

int insert_rows;

exec sql end declare section;

insert_rows=50;

exec sql insert for :insert_rows

insert into table_name(aaa,bbb)

values (:aaa,:bbb);

往一張表中插記錄,首先需要保證登入的使用者有執行許可權;

for子句用於設定處理的陣列元素數量,適用於insert,update,delete操作。for之後的一定需要是sql宿主變數,而不可以為c語言的常量與字面值;

使用陣列時,where子句後要不全部是標量,要不全部為陣列,二者不可以混用。如果為標量,則oracle執行一次,如果為陣列,則oracle對每一組陣列元素執行一次insert語句。

where子句中的陣列大小可以不同,在這種情況下:

使用嵌入式update語句更新資料庫中的記錄資訊

exec sql update table_name

set aaa=:aaa

where bbb=:bbb

char bbb[10][20];

float aaa;

exec sql update table_name

set ***=:aaa where bbb=:bbb

執行更新時,必須有執行許可權

使用陣列時,where子句後要不全部是標量,要不全部為陣列,二者不可以混用。如果為標量,則oracle執行一次,如果為陣列,則oracle對每一組陣列元素執行一次update語句。

where子句中的陣列大小可以不同,在這種情況下:

累計修改的行數在sqlca的sqlerrd[2]中返回

如果沒有滿足條件的記錄被更新,則返回錯誤資訊

使用嵌入式delete語句,刪除資料庫中的記錄資訊

exec sql delete from table name where ***=:***;

/*宣告游標*/

exec sql declare tmp_cursor for select ….

/*開啟當前游標*/

exec sql open tmp_cursor ;

/*執行fetch 動作*/

exec sql fetch tmp_cursor into:***,:yyy;

exec sql delete from table_name

where current of tmp_cursor;

int number[10];

exec sql delete from table_name where ***=:***;

首先需要擁有相應表的刪除許可權

使用陣列時,where子句後要不全部是標量,要不全部為陣列,二者不可以混用。如果為標量,則oracle執行一次,如果為陣列,則oracle對每一組陣列元素執行一次delete語句。

where子句中的陣列大小可以不同,在這種情況下:

如果沒有滿足delete的條件的行被刪除,則返回"not found"錯誤碼

sqlca中的sqlerrd[2]返回刪除的累計行數。 

測試基礎(Python基礎教程(第3版 )

測試基礎 測試在先,編碼在後。這也稱為測試驅動的程式設計。先編寫測試再編寫 並不是為了發現bug,而是為了檢查 是否管用。測試四步曲 1 確定需要實現的新功能。可將其記錄下來,再為之編寫乙個測試。2 編寫實現功能的框架 讓程式能夠執行 不存在語法錯誤之類的問題 但測試依然 無法通過。測試失敗是很重要...

ROS基礎教程 官網翻譯版

ros教程整理 安裝並配置ros環境 本教程詳細描述了ros的安裝與環境配置。ros檔案系統介紹 本教程介紹ros檔案系統概念,包括命令列工具roscd rosls和 rospack 的使用。建立ros程式包 本教程介紹如何使用 roscreate pkg 或catkin 建立乙個新程式包,並使用 ...

模組(Python基礎教程(第3版 )

集合 集合是可變的,因此不能用作字典中的鍵。另乙個問題是,集合只能包含不可變 可雜湊 的值,因此不能包含其他集合。由於在現實世界中經常會遇到集合的集合,因此這可能是個問題。所幸還有frozenset型別,它表示不可變 可雜湊 的集合。堆 位置 i處的元素總是大於位置i 2處的元素 反過來說就是小於位...