SQL構文の概要
1. 条件に基づいてフィールドを読み取り、指定されたいくつかの値または 1 つの値のみを取るフィールドを定義します。
select os.* from blis_order o,blis_orderservice os ここで、o.orderid=os.orderid および o.ordertypeid が (4, 8, 10, 11) になく、o.status が ('New','Accepted','Pending-)承認'、'有効保留中'、'修正保留中') および snp.status='アクティブ' および b.entityid=1
2.重複した(異なる)フィールドを個別に削除します
blis_chargeactivation ca,blis_orderparameter op から個別の op.name,op を選択します。op.mastertype='charge' および ca.chargeactivationid=op.masterid および ca.parentcode のような '%NBR Storage Charge%'
3. フィールドを null にすることはできません
Blis_Order o、Blis_Orderservice os から os.orderserviceid、os.orderofferid、o.ordertypeid、o.status を選択します。ここで、o.orderid=os.orderid および os.orderofferid は null ではありません
4. 一定の条件を満たすレコードを削除する
blis_bstoffermigplan bsf から削除します (bsf.keyid='110206')
5. name_a フィールドを取得し、フィールドのエイリアス name_b を追加します。
blis_bstoffermigplan bsf から bsf.keyid サブコード、bsf.bstoffermigplanid を選択します
ここでは keyid フィールドが取得され、サブコード フィールドが表示されます。
6.接続ロールバックコミット
ロールバックとは、メモリ内で行われた動作をキャンセルし、データベースに永続化しないことです。 コミットとは、メモリ内で行われた動作をデータベースに永続化することです。
7. Oracle で Dual を使用します。Dual は Oracle の独自の仮想テーブルです。Oracle の多くのシステムのシーケンスは、通常、テーブルと 1 対 1 の対応関係を確立します。ただし、それをプログラムで挿入する場合は、手動で指定する必要があります。アカウントデータの追加など、対応する値が SEQ_ACCOUNT.nextval に挿入され、Dual を通じて変数と関数を取得できます。
S: getdate() を選択します。
O: デュアルから sysdate を選択します。
DUAL から SEQ_INTEGRATIONTASK.NEXTVAL を選択します
8. (PK) 主キー (PK) (データベース用)
9. 並べ替え(数字、文字の大きい順)
select bsf.* from blis_bstoffermigplan bsf order by bsf.ordertypeid desc
10.レコードを挿入する
blis_bstoffermigplan (bstoffermigplanid、entityid、keyid、subioncode、ordertypeid、type、templatecode、currencycode、Exceptioncount、lastException、att1、att2、att3、att4、att5、offercode、status、createdby、creationdate、lastmodifiedby、lastmodifieddate) 値に挿入します ( seq_bstoffermigplan.nextval、?、?、?、?、?、?、?、?、?、?、?、?、?、?、?、?、?、sysdate、?、sysdate)
11. 記録を更新する
offermigplan.db_table_name を更新します setentityid=?,keyid=?,subioncode=?,ordertypeid=?,type=?,templatecode=?,currencycode=?,Exceptioncount=?,lastException=?,att1=?,att2=?,att3 =?,att4=?,att5=?,offercode=?,status=?,createdby=?,lastmodifiedby=?,lastmodifieddate=sysdate ここで、bstoffermigplanid=?
12. 大量のデータを含む型 Clob を挿入する
13. クエリ日付
次の 2 つのステートメントは同じ機能を持ちます
select * from blis_account acc where to_char(acc.lastmodifieddate,'YYYYMMDD')>'20050101'
select * from blis_account acc where acc.lastmodifieddate>to_date('2005-01-01','yyyy-mm-dd')
14フィールドの値に基づいて重複レコードを検索する
たとえば、同じchargeactivationid値を持つ blis_usageaccess レコードを検索します。
select * from blis_usageaccess wherechargeactivationid in (count(*) >1 を持つchargeactivationidによって、blis_usageaccessグループからchargeactivationidを選択します)
使用法アクセスIDチャージアクティブ化IDサービスアクセスコード
292518 148701 オーディオブロードキャスト@
292517 148701 VOIP@
292516 148701 カリンディッド@
292515 148701 コールバック-INTL@
292512 148701 カリン@
292513 148701 フリーダイヤル@に電話してください
292514 148701 コールバック@
292478 147945 オーディオブロードキャスト@
292477 147945 VOIP@
292475 147945 コールバック-INTL@
292476 147945 カリンディッド@
292472 147945 カリン@
15. クエリを通じて特定のフィールドの合計値を取得します。この値が null の場合は、事前に設定されたデフォルト値が与えられます。
select nvl(ob.bookingvalue, 0) bookvalue from blis_order o, blis_orderbooking ob ここで、o.orderid=ob.orderid、o.orderid =125034、ob.bookingtypeid = 215、ob.status = 'Active'
ここで気になるのは nvl の使い方です。 nvl (arg, value) は、前の arg の値が null の場合、戻り値は次の値になることを意味します。
16. 列の名前はわかっているが、それがどのテーブルに属しているかわからない場合は、このメソッドを使用できます。
select * from user_col_comments ucc where ucc.column_name = 'column_name'
例: select * from user_col_comments ucc where ucc.column_name = 'ORDERID' とすると、ORDERID フィールドを持つ一連のテーブルが検索されます。
17. 2 つのフィールドを横断して配置する
select (pf.offername || ' '|| cur.name) offercode from blis_packageoffer pf,blis_currency cur where cur.status='Active' and pf.status='Active'
結果は次のとおりです。
オファーコード
a1 b1
a1 b2
a2 b1
a2 b2
18.条件判断
pc.provisioningby = 'BPS' の場合、'True'
else 'False' 終了
sos.Sosorderserviceid、st.sosprovisionticketid、を選択します。
(pc.provisioningby = 'BPS' の場合は 'True'
else 'False' 終了) isConnector
blis_sosprovisionticket st、blis_sosorderform sof から、
blis_sosorderservice sos、blis_packagecomponent PC
ここで、sof.sosorderformid = sos.sosorderformid
そしてsos.sosorderserviceid = st.sosorderserviceid
sos.status = 'アクティブ' および st.status = 'アクティブ'
および pc.tagname(+) = st.servicetag および pc.provisioningby
そしてsof.sosorderformid = 104789
19. pc.tagname(+) =st.servicetag
pc.tagnameの値が存在し、st.servicetagの値が存在しない場合にもレコードを取得できます。
20. テーブルを手動で編集できるようにする
select rowid,st.* from blis_sosprovisionticket st where st.sosprovisionticketid=102508
class12.zip を使用しても、classNotFoundException: oracle.jdbc.driver.OracleDriver がスローされます。class12.jar または class12.jar が JDBC Oracle ドライバー クラスである場合は、これは正常です。
データベースを作成します。
すべてのテーブルを表示: select * from dba_all_tables
すべてのユーザーを表示: select * from all_users
すべての DBA ユーザーを表示: dba_users から * を選択
ロールの作成:ロール BLIS_ADMIN_ROLE の作成;
新しいユーザーの作成: パスワードで識別されるユーザーのユーザー名を作成します
テーブルスペースの使用権を付与します: リソースをユーザー名に付与します
テーブルの作成権限を付与: ユーザー名にテーブルの作成を許可します。
データベースに接続する権限を付与します: ユーザー名に作成セッションを付与します
すべてのテーブルスペースを表示: select * from dba_tablespaces
任意のテーブルをユーザーに付与します。BLIS_ADMIN_ROLE に任意のテーブルの作成を付与します。
ユーザーに検索機能を付与します。 BLIS_ADMIN_ROLE へのインデックスの作成を付与します。
ユーザーにテーブルの取得、挿入、更新、削除の権限を付与します。BLIS_ACCAGENCYCOMMISSION での選択、挿入、更新、削除を BLIS_ADMIN_ROLE に付与します。
データベースのエクスポート: 例: exp blis/blis@dbls full=y file=d:1.dmp
ORACLE データベースに接続するための文字列形式は次のとおりです。
jdbc:oracle:thin:@host:port:SID
これはデータベース名ではなく SID であることに注意してください。