㈠ 什麼是sql呢
SQL是指Structured query language, 簡稱為SQL, 中文稱之為結構化查詢語言. 它一種對關系資料庫中的數據進行定義和操作的句法,為大多數關系資料庫管理系統所支持的工業標准. 它包含6個部分: 1) 數據查詢語言(DQL); 2) 數據操作語言(DML); 3) 事務處理語言(TPL); 4) 數據控制語言(DCL); 5) 數據定義語言(DDL); 6) 指針控制語言(CCL)
基本上常用的關系資料庫管理系統都支持SQL, 但是各個資料庫管理系統對SQL標準的支持也不盡相同, 而且各自都有自己的一套SQL語言, 例如Oracle的稱為PL/SQL; 而SQL Server的稱為Transact-SQL.
要學SQL, 首先學習SQL定義的基本語法; 然後, 針對主流的資料庫管理系統, 有針對的學習該資料庫所實現的SQL(如Oracle的PL/SQL, SQL Server的Transact-SQL). 大概過程如此. 但是, 要看你的發展方向是什麼: 是要做資料庫應用, 還是做資料庫管理; 如果只做資料庫應用, 那麼只有熟練掌握查詢語言和事務處理語言這兩塊就差不多了(我就是如此); 如果要做資料庫管理員(DBA), 那麼就要全面掌握, 而且一定要針對資料庫學習, 因為不同的資料庫系統差別就太大了.
㈡ 在oracle中 PL/sql程序塊必須包括哪幾部分
oracle中 PL/sql程序塊必須包括聲明部分,可執行部分,異常處理部分。
㈢ 怎麼把sql代碼轉換成sql程序塊
pl/sql與t-sql沒有可比性, pl/sql是針對oracle的第三方工具;t-sql是SQL SERVER的SQL語言的縮寫。 pl/sql中包含了oracle中,包、函數、存儲過程、表、視圖、用戶等等等等的操作,大大調高了工作效率,同時,可以進行SQL的編寫,並使用oracle獨有的函數、關鍵字。 t-sql是SQL SERVER的SQL語句,兼容SQL,並具有SQL SERVER本身獨有的函數、關鍵字。 舉例:oracle的關鍵字sysdate(系統當前時間) 在SQL SERVER中就不存在,也不是SQL的東西,所以t-sql中沒有sysdate這個東西; t-sql中有一個函數,rownum()over(),這個是SQL SERVER獨有的,SQL中不存在,oracle中也不存在。
㈣ 在SQL中什麼是程序集
程序集是 .NET Framework 應用程序的主要構造塊。所有託管類型和資源都包含在某個程序集內,並被標記為只能在該程序集的內部訪問,或者被標記為可以從其他程序集中的代碼訪問。程序集在安全方面也起著重要作用。代碼訪問安全系統使用程序集信息來確定為程序集中的代碼授予的許可權集。
㈤ pl/sql編程,存儲過程的作用是什麼
不管處於存儲過程還是其他環境,都遵循系列規則:
一個事務可以是一組dml語句,也可以是一條ddl或dcl命令。
一個事務從第一個可執行語句開始,事務遇到以下情況結束:
commit
或
rollback語句
ddl
或
dcl語句自動提交事務
用戶退出pl/sql(系統自動發出commit命令)
系統崩潰
㈥ SQl指的是什麼
SQL全稱是「結構化查詢語言(Structured Query Language)」
SQL(STructured Query Language)是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。
SQL同時也是資料庫文件格式的擴展名。
SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
結構化查詢語言(Structured Query Language)最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了 SQL 標准。ANSI 是一個美國工業和商業集團組織,發展美國的商務和通訊標准。ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO 和 IEC 發布了 SQL 的國際標准,稱為 SQL-92。ANSI 隨之發布的相應標準是 ANSI SQL-92。ANSI SQL-92 有時被稱為 ANSI SQL。盡管不同的關聯式資料庫使用的 SQL 版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server 使用 ANSI SQL-92 的擴展集,稱為 T-SQL,其遵循 ANSI 制定的 SQL-92 標准。
SQL語言包含4個部分:
數據定義(DDL)語言(如CREATE, DROP,ALTER等語句)
數據操縱(DML)語言(INSERT, UPDATE, DELETE語句)
數據查詢語言(SELECT語句)
數據控制語言(如GRANT,REVOKE,COMMIT, ROLLBACK等語句)
SQL 語言包括兩種主要程式設計語言類別的陳述式: 資料定義語言 (DDL)與資料操作語言 (DML)。
㈦ 什麼是ORACLE程序塊
舉個例子給你說明吧:
1.編寫PL程序塊循環給scott.emp表中所有職工增加工資,每次增加100元,直到平均工資高於5000或任一職工的工資超過6000元為止,最後顯示出給所有員工一共增加了多少工資。
2.編寫一個PL塊,定義一個靜態游標存儲scott.emp表中所有雇員的員empno、ename和sal,並使用循環列印出所有數據。
3.編寫一個存儲過程comSalary,分別統計儲scott.emp表中所有部門的平均工資,並且只顯示出工資超過3500的部門。並編寫pl塊調用此存儲過程。
1.
declare
avg_sal number;
max_sal number;
i integer;
begin
i:=0;
loop
select avg(sal),max(sal) into avg_sal,max_sal from emp;
if avg_sal<=5000 and max_sal<=6000 then
update emp set sal=sal+100;
i:=i+1;
else
exit;
end if;
end loop;
commit;
dbms_output.put_line('共增加工資:'||to_char(i*100));
end;
2.
declare
cursor c1 is select empno,ename,sal from emp;
begin
for acct in c1 loop
dbms_output.put_line('員工號:'||acct.empno||' 員工姓名:'||acct.ename||' 工資:'||acct.sal);
end loop;
end;
3.
create or replace procere comSalary
as
cursor c1 is
select deptno,avg(sal) avg1 from emp group by deptno;
begin
for acct in c1 loop
if acct.avg1 > 3500 then
dbms_output.put_line('部門:'||acct.deptno||' 工資:'||acct.avg1);
end if;
end loop;
end;
其實Oracle程序塊,是基於oracle編程的范疇,相當於本來希望通過用其他語言寫程序對oracle資料庫進行操作的功能,直接放在oracle資料庫內部去執行了一樣。可以跟存儲過程一樣理解。