sql轉換oracle
❶ sql SERVER 存儲過程,轉換成ORACLE存儲過程
你這個過程其實就是分頁查詢用戶信息是吧
--利用游標返回結果集
CREATEORREPLACEPACKAGEpkg_queryASTYPEcur_queryISREFCURSOR;
ENDpkg_query;
CREATEORREPLACEPROCEDUREUP_UserInfo_List_select
(
WhereSqlinvarchar2,--查詢條件
StartIndexinNumber,--當前頁
EndIndexinNumber,--每頁顯示記錄條數
RecordCountoutNumber,
v_curoutSYS_REFCURSOR)--返回的結果集
IS
v_sqlVARCHAR2(1000):='';--sql語句
BEGIN
--查總記錄數
v_sql:='SELECTTO_NUMBER(COUNT(*))FROMUserInfoWHERE1=1';
IFWhereSqlISNOTNULLorWhereSql<>''THEN
v_sql:=v_sql||WhereSql;
ENDIF;
EXECUTEIMMEDIATEv_sqlINTORecordCount;
--實現分頁查詢
v_sql:='SELECT*FROM(SELECTA.*,rownumrFROM(SELECTUserId,UserName,RoleId,IsLock,DescfromUserInfo';
IFWhereSqlISNOTNULLorWhereSql<>''THEN
v_sql:=v_sql||'WHERE1=1'||WhereSql||'ORDERBYUserId';
ENDIF;
v_sql:=v_sql||')AWHERErownum<='||EndIndex||')BWHEREr>='||StartIndex;
DBMS_OUTPUT.put_line(v_sql);
OPENv_curFORv_sql;
ENDUP_UserInfo_List_select;
--執行,plsql這里是看不到結果集,找到這個過程點測試,才能看到。當然你在程序里使用也是能返回的。
declare
RecordCountnumber:=0;
v_curpkg_query.cur_query;
begin
UP_UserInfo_List_select('',1,10,RecordCount,v_cur);
DBMS_OUTPUT.put_line(RecordCount);
end;
❷ 如何將一個 mysql 風格的 sql 腳本轉換為 oracle 導入的 sql 腳本
用navicat 9.0
1、先新建一個mysql的資料庫,然後把這個腳本導入進去(肯定會成功的)
2、在新建導入的資料庫上,右擊,數據傳輸,右邊的目標選擇文件,然後右邊第二個選擇sql格式,選擇oracle就行了
❸ sql語句與oracle語句的轉換
select table_name from dba_tables where table_name='TMP' 注意最後where中的表是大寫的