アウトプットができる技術者に

it's a time to take a new step !

Sybase ASE

Sybase ASE 入門 コネクションのチェック

ストアドプロシージャー 「sp_who」 でチェックできる sp_who fid spid status loginame origname hostname blk_spid dbname tempdbname cmd block_xloid threadpool ------------ ---------------- ---------------------------------------- -------------…

Sybase ASE 入門 DBの容量を確認する

sp_spaceused を使います sp_spaceused database_name database_size ---------------------------------------------------- ---------------------------------------------------- ase1 6.0 MB (1 row affected) reserved data index_size unused -------…

Sybase ASE viewの定義 確認

カラム定義確認 (sp_help) sp_help docomo_mail -- Name Owner Object_type Object_status Create_date -------------------------------------------- -------------------- -------------------------------------------- -------------------------------…

Sybase ASE 入門 統計情報の更新

一般的にオプティマイザは統計情報を利用して、最適なスループットを構築する ゆえに、その統計情報は実態と合うように更新・最適化が必要となる はず。。。ということで、 統計情報の確認 統計情報の更新方法 を見ていく 統計情報の確認 統計情報の更新 upd…

Sybase ASE 入門 syscolumns で not null のカラムを確認する

syscolumnsのstatusカラムの値が「8」以外は not null になっている。 sysobjectsとjoinして確認可能 select o.name, c.name, c.status from sysobjects o, syscolumns c where o.id = c.id and o.name= 'test1' and c.status != 8 「colid」はカラムの順番 …

Sybase ASE 入門 insert

insert into t1 select id, name from t2 insert into t1 (id) select id from t2 全カラムinsertの場合は、テーブル名の後のカラム指定必要なし reference official insert Sybase ASE 入門 目次

Sybase ASE 入門 DB2との比較(SQL)

DB2との比較。徐々に充実させたい。 DB2 Sybase Load BCP Utilityを使う Import ない。BUP Utility と Merge文とかを組み合わせてどうにかする。 * mergeは不安定なversionがあるので注意 Union 同じ exists 同じ fetch first 10 rows only select top 10 * …

Sybase ASE 入門 versionの確認

sp_version Script Version Status ------------------- ------------------------------------------------------------------------------------------------------------------- ---------- installcommit 15.7/EBF 21341 SMP SP101 /P/x86_64/Enterprise…

Sybase ASE 入門 version check

下記でチェックできる sp_versionisql とか Client ととなる Utility は version を合わせる必要あり。 Sybase ASE 入門 目次

Sybase ASE 入門 テーブル名の変更

alter table では なく sp_rename を利用する sp_rename before_table_name, after_table_name see also カラム名の変更 Sybase ASE 入門 目次

Sybase ASE 入門 テーブルの作成 select into statement

テーブルを作成するには、create table の他、select into でもOK 作成元にしたテーブルのカラム制約が、新しいテーブルに引き継がれる。 ただし、IndexやPrimaryKey制約は 引き継がれない。 select * into test_table2 from test_table1 -- sample select *…

Sybase ASE 入門 カラム追加

age カラムを追加する例 alter table test_table1 add age int default 99 alter table test_table1 add age int null指定の位置に追加することは不可能?

Sybase ASE 入門 カラム定義変更

"name" カラムの定義を varchar に変更する alter table t1 modify name varchar(10)"name" カラムの定義を null に変更する。カラムの型は省略可能。 alter table t1 modify name varchar(10) null alter table t1 modify name null reference official doc…

Sybase ASE 入門 viewの作成

create view で作れます。 as 以下の select文中のカラム名をそのまま viewのカラム名にしてくれます。 手間が省けて楽。 select * from t4 mail_address -------------- a@softbank.ne.jp a@docomo.ne.jp create view docomo_mail as select mail_address f…

Sybase ASE 入門 カラム名の変更

sp_rename を使います。Alter Table は 使えません。めずらしいね。 実行すると「既存のSPとかキャッシュされたクエリとかコンパイルされたアレとかは壊れるから注意しろよ」って言われます。viewも書き換えないとダメですね。第一引数 : table名.カラム名 …

Sybase ASE 入門 delete文で from句を利用する

例 テーブル ts1の内容を ts2の内容を参照して 削除する delete ts1 from ts1 a, ts2 b where a.id = b.id 注意 from句で副問い合わせは利用不可 where句にexistsは利用可 reference official Transact-SQL User's Guide Sybase ASE 入門 目次

Sybase ASE 入門 日付と時刻の関数

日付と時刻の出力 current_bigdatetime() getdate() current_date() current_time() current_bigtime() select current_date() ---------------------------------- Feb 1 2014 10:40:52.606274PM select get_date() ------------------------------- Feb 1 …

Sybase ASE 入門 case-sensitive

Sybase ASE は 初期設定では case-sensitive 大文字と小文字を区別します。 これは Serverの設定なので、例えば、DB毎やコネクションごとには変更できない。 変更するには、Serverの文字セットを変えればよいみたいです。 文字コードの変更 下記で変更可能/o…

Sybase ASE 入門 update

contents update文で from句を利用する reference Sybase ASE 入門 目次

Sybase ASE 入門 update文で from句を利用する

例 テーブル ts1の内容を ts2 の内容に updateする update ts1 set a.name = b.name from ts1 a, ts2 b where a.id = b.id 注意 from句で副問い合わせは使用不可 reference official Transact-SQL User's Guide Sybase ASE 入門 目次

Sybase ASE 入門 in句のサブクエリは1カラムのみ

SybaseASEではin句の指定は1カラムのみのようだ。 まぁ、select文なら join すればいいんですけどね。 OK select id, type, name from ti where (id) in (select id from ti2) NG select id from ti where (id, type) in (select id, type from ti2) join で…

Sybase ASE 入門 isql 対話型 Utility

isqlはsybase aseのクライアントutlityです。 sybase aseに接続して Transact-SQL を発行できます。パス $SYBASE/$SYBASE_OCS/bin -> /opt/sybase/OCS-15_0/bin 使い方 引数にいろいろ指定して、DBに接続 実行時には最後に「go」を書く quit / exit で終了 i…

Sybase ASE 入門 インストール

順番が前後しますが、インストールです。 環境 Linux CentOS 5.x 64bit Linux に必要なライブラリ • openmotif-2.3.1-2.el5 • libXp-1.0.0-8.1.el5 • libXt-1.0.2-3.1.fc6 • libXtst-1.0.1-3.1 • libXmu-1.0.2-5 (必要に応じてInstall) 方法 (コマンドライン…

Sybase ASE 入門 Indexの作成

create index statement create nonclustered index ${index_name} on ${table} (id, date) 確認方法 sp_helpindex ${table} Sybase ASE 入門 目次

Sybase ASE 入門 Transaction Log の削除

Transaction Log が Full になると以下のようなエラーメッセージが出る。 The transaction log in database ${dbname} is almost full. Your transaction is being suspended until space is made available in the log.対処法 dump transaction ${dbname} w…

Sybase ASE 入門 PrimaryKeyの作成・削除

Primary Key alter table test_table add PRIMARY KEY (id) これでも可能 sp_primarykey test_table, id 確認方法 # その1 sp_helpconstraint test_table # その2 sp_pkeys test_table primary key の削除 alter talbe で追加した場合は、alter table を使…

Sybase ASE 入門 merge

merge statement では Table a のデータを Table b に マージできます。 BatchJobなどで work table の データを 本番用 Tableにコミットする場合に便利?不安定なので個人的にはあまり推奨できない。 普通にupdate,insertしても結果はほぼ同じなので。Sampl…

Sybase ASE 入門 SELECT

最初のN行 select TOP 1 * from ts1 ちょっと意外だったこと 副問い合わせで order by が利用できない そもそも必要ないって噂もあるが

Sybase ASE 入門 組み込み関数

よく使う関数 日付と時刻の関数 CONVERT データの型を変換できる。時刻にも適用可能。ただ、時刻のフォーマット関数が見当たらない。。 notice : varcharで文字数を指定しないと適当に切れちゃう e.g. timestamp型のカラムの値を TIME型に変換 CONVERT(TIME,…

Sybase ASE 入門 テーブルの作成

一般的な create 文 / select into で作成可能 create table test_table (id varchar(10), name varchar(10) null, age int default 99) 確認方法 sp_help コマンドを使う。引数を指定しないとテーブルの一覧が表示される。 sp_help test_table 注意点 sybas…