sql嵌入式sql
1. 嵌入式sql的預處理方式指什麼
嵌入式SQL實現時,採用預處理方式是識別出SQL語句,並處理成函數調用形式。
嵌入式SQL(英文: Embedded SQL)是一種將SQL語句直接寫入C語言,COBOL,FORTRAN, Ada等編程語言的源代碼中的方法。藉此方法,可使得應用程序擁有了訪問數據以及處理數據的能力。在這一方法中,將SQL文嵌入的目標源碼的語言稱為宿主語言。
在SQL標準的SQL86(1986年發布)中定義了對於COBOL, FORTRAN, PI/L等語言的嵌入式SQL的規范。在SQL89(1989年發布)規范中,定義了對於C語言的嵌入式SQL的規范。一些大型的資料庫廠商發布的資料庫產品中,都提供了對於嵌入式SQL的支持。比如Oracle, DB2等。
2. SQL是嵌入式語言嗎
義:
你所寫的是C語言在早期利用高級API,在C語言的源代碼中用EXEC SQL include ...這樣的方式嵌入進SQL語句,讓SQL語句能在C中被執行與認識,這樣能讓C來控制邏輯流程地執行SQL語句。而在現在,不推薦這種嵌入式SQL了,雖然在 Microsoft SQL Server 2000 中仍然支持用於 C 語言的嵌入式 SQL API,但在 SQL Server 以後的版本中,不再包含在使用此 API 的應用程序上進行編程工作所需要的文件。在 SQL Server 的下一版本中,仍然支持使用用於 C 語言的嵌入式 SQL 編寫的現有應用程序的連接,但在以後的版本中也將不再提供這種支持。編寫新的應用程序時,請不要使用用於 C 語言的嵌入式 SQL。修改現有應用程序時,強烈建議刪除依賴用於 C 語言的嵌入式 SQL 的內容。可以使用 Microsoft ActiveX Data Objects (ADO)、OLE DB 或 ODBC 來代替用於 C 語言的嵌入式 SQL,對 SQL Server 中的數據進行訪問。與 OLE DB 這類 COM API 或 ODBC 這類調用級介面相比,嵌入式 SQL 的語法更簡單,因此更易於學習和編程。但嵌入式 SQL 不如 OLE DB 或 ODBC 靈活,在用 OLE DB 或 ODBC 精心編寫的應用程序中,只需切換驅動程序或提供程序,即可從一個 DBMS 切換到另一個。在編譯應用程序(例如開發按需查詢工具時)時不識別SQL 語句的環境中,更適合使用 OLE DB 和 ODBC,而實際上,ODBC都很老了。
所以現在都是用的JDBC,ADO去連接資料庫,你看的那些實在是太老掉牙了,不要糾結。不過想了解一下,請參考:
嵌入式SQL語句(C語言版):
其實上面這些都是大學里的教程,很古老的,杯具。看下這個回答:挺好!
2.按另一種流傳的口頭說法:
嵌入式SQL語言 在源代碼中用特殊標記 標記SQL代碼段,如你說的在方法中string="select * from table"這種放在C#代碼中的用引號括起來的句子,也有人稱之為嵌入式SQL;
非嵌入式SQL是指調用函數庫來完成相應的功能;
另外,提下你的提問很有問題,網路上很多問題本來很簡單,但是描述不清,無人回答,建議你看下《提問的藝術》
3. 什麼是嵌入式sql應用程序
嵌入式SQL
語言是將
SQL語句
直接嵌入到程序的源代碼中,與其他
程序設計語言
語句混合.
嵌入式SQL的用途:它是資料庫應用程序的一種開發方法.是一種應用程序進行資料庫訪問時所採取的編程式
資料庫語言
.
4. 嵌入式SQL的資料庫產品
支持嵌入式SQL的資料庫產品以下列出支持嵌入式SQL的資料庫產品以及各自支持的宿主語言Oracle DatabaseAda Pro*Ada在Oracle 7.3的版本中被加入產品族,並且在Oracle 8中被替換為SQL*Mole。但在此之後就一直沒有更新[2]。SQL*Mole支持Ada 83.C/C++ Pro*C 在Oracle 8 時被替換成了Pro*C/C++。之後Pro*C/C++ 到Oracle Database 11g仍都在被支持。COBOL Pro*COBOL到Oracle Database 11g仍都在被支持。Fortran Pro*FORTRAN 在Oracle 8之後的Oracle版本中就不再被更新,但Bug修正仍在維護中[3]。Pascal Pro*Pascal在Oracle 8之後的Oracle版本中就不再被更新[3]。PI/L Pro*PL/I 自Oracle 8之後就不再被更新,但文檔中仍然有記述[3]。IBM DB2IBM DB2的版本9中提供了對於C/C++,COBOL,Java等宿主語言的嵌入式SQL的支持。
PostgreSQLC/C++ PostgreSQL 自版本6.3起就提供了對於C/C++的嵌入式SQL的支持,以ECPG組件的形式存在。
5. 互動式SQL與嵌入式SQL有什麼不同
1、語言不同
互動式SQL是指在終端交互方式下使用的SQL語言稱為互動式SQL;嵌入式SQL是一種將SQL語句直接寫入C語言,COBOL,FORTRAN, Ada等編程語言的源代碼中的方法。
2、使用不同
互動式SQL是在終端交互方式下使用;嵌入式SQL是嵌入在高級語言的程序中使用。
(5)sql嵌入式sql擴展閱讀:
提供對於嵌入式SQL的支持,需要資料庫廠商除了提供DBMS之外,還必須提供一些工具。為了實現對於嵌入式SQL的支持,技術上必須解決以下4個問題:
1、宿主語言的編譯器不可能識別和接受SQL文,需要解決如何將SQL的宿主語言源代碼編譯成可執行碼;
2、宿主語言的應用程序如何與DBMS之間傳遞數據和消息;
3、如何把對數據的查詢結果逐次賦值給宿主語言程序中的變數以供其處理;
4、資料庫的數據類型與宿主語言的數據類型有時不完全對應或等價,如何解決必要的數據類型轉換問題。
嵌入式SQL源碼的處理流程 為了解決上述這些問題,資料庫廠商需要提供一個嵌入式SQL的預編譯器,把包含有嵌入式SQL文的宿主語言源碼轉換成純宿主語言的代碼。
這樣一來,源碼即可使用宿主語言對應的編譯器進行編譯。通常情況下,經過嵌入式SQL的預編譯之後,原有的嵌入式SQL會被轉換成一系列函數調用。因此,資料庫廠商還需要提供一系列函數庫,以確保鏈接器能夠把代碼中的函數調用與對應的實現鏈接起來。
6. 嵌入式SQL怎麼實現
C++ 本來就不識別SQL,要在C++里對SQL類的資料庫進行操作的正確做法的原理是:
1、使用控制項,向SQL類伺服器(比如MS SQL Server或Oracle,或最簡單的ACCESS資料庫)發送SQL語句,SQL類伺服器響應後就會針對語句的要求進行返回數據集或結果,控制項可以收到結果,然後進行展現或處理。
2、一般最常見的是ADO Data類的控制項,比如C++Builder里的ADOQUERY,ADODataset。又比如VC里的ADO Data控制項,等等。
3、想具體的學習如何進行SQL資料庫編程,可自個網路關鍵詞:「SQL資料庫編程」,或「C++Builder SQL資料庫編程 」。
7. 什麼是嵌入式SQL語言,什麼是非嵌入式SQL語言
嵌入式SQL
語言
是在源代碼中用特殊標記
標記SQL代碼段,非嵌入式SQL是指調用
函數庫
來完成相應的功能
8. 嵌入式SQL的簡介
嵌入式SQL(英文: Embedded SQL)是一種將SQL語句直接寫入C語言,COBOL,FORTRAN, Ada等編程語言的源代碼中的方法。藉此方法,可使得應用程序擁有了訪問數據以及處理數據的能力。在這一方法中,將SQL文嵌入的目標源碼的語言稱為宿主語言。
在SQL標準的SQL86(1986年發布)中定義了對於COBOL, FORTRAN, PI/L等語言的嵌入式SQL的規范。在SQL89(1989年發布)規范中,定義了對於C語言的嵌入式SQL的規范。一些大型的資料庫廠商發布的資料庫產品中,都提供了對於嵌入式SQL的支持。比如Oracle, DB2等。
9. 資料庫嵌入式sql編程,求解
題目沒有說明表之間的外鍵關系,那我就默認同名的列名是外鍵,不清楚你用的編程語言,所以我使用:input作為輸入變數
1
select Teacher.Tname,Teacher.Tage,Teacher.Tsex,Work.Salary from Teacher,Work,Department
where Teacher.Tno=Work.Tno and Department.Dno=Work.Dno
and Department.Tno=Teacher.Tno and Work.Salary>:input
2
update Work set Salary=:input from Teacher,Department
where Teacher.Tno=Work.Tno and Department.Dno=Work.Dno
and Department.Tno=Teacher.Tno and Work.Salary<:input
10. 嵌入式SQL
sqllite?
mysql