お世話になっております。
SQL*PLUSの表示の方法で分からないことがあるので
投稿させていただきます。

参考書の「パッケージの再コンパイル」というのをもとに
SELECT object_name ,object_type,status
FROM user_objects
WHERE object_name IN ('TEST_PACK','CALL_TEST_PACK');

というステートメントを入力したのですが
OBJECT_NAME
-----------------------------------------------------------
OBJECT_TYPE STATUS
------------------ -------
CALL_TEST_PACK
PROCEDURE VALID

TEST_PACK
PACKAGE VALID

TEST_PACK
PACKAGE BODY VALID

と返ってきました。
できれば見やすくしたいので
OBJECT_NAME      OBJECT_TYPE    STATUS    
------------     ------------------   -------
CALL_TEST_PACK    PROCEDURE   VALID
TEST_PACK        PACKAGE   VALID
TEST_PACK        PACKAGE BODY   VALID

としたいのですが、上記のコードに何か付け足すだけで
可能でしょうか?
それとも、最初から設定する必要があるのでしょうか?

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ここはSQL Serverのカテゴリーですが……


以下のようにフォーマット指定してあげれば良いです。

文字列
column カラム名 format a20
数値
column カラム名 format 00000

詳しくは以下URLを参考にしてください。
http://www.shift-the-oracle.com/sqlplus/command/ …
    • good
    • 0
この回答へのお礼

カテゴリーを間違えていたにもかかわらず、
答えていただきありがとうございます。
期待通りの結果が返ってきました。

お礼日時:2009/05/25 11:57

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qsqlplusで表示が変なので、出力を整形したい。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------

上記のように意味不明な形式で出てきます。

例えばこんな風に

select カラム1,カラム2,カラム3 from hoge;

カラム1 1の値
---------------------------
カラム2 2の値
---------------------------
カラム3 3の値

等のように分かりやすく表示できないでしょうか?

ちなみにOracle9iR2を使用しています。
sqlに関するツールは使用できないルールでして、あくまでsqlplusのコマンド上でみやすくしなければなりません。

分かりづらくですいませんが、皆さま、ご教授お願いします。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
-----------------------...続きを読む

Aベストアンサー

SQLPLUSを起動して、

SQL>set linesize 列数

でどうだ。

SQL>show linesize

で確認ができる。

QOracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。

画面を最大化しても、データが途中で折り返されて、各行が2行にわたってしまうため、縦方向に長くなってしまい、見づらいです。
どのような方法でどこの設定を変えれば、ちゃんと1行に収まって見やすくなるでしょうか。解説書の図では、問い合わせの結果が折り返されずにちゃんとそれぞれ1行に収まっているのです。
ど素人で恐縮ですが、ご存知の方、教えていただけませんか。

Aベストアンサー

こんばんわ。
自宅のパソコンからなんで詳しい事は覚えてないんですが、
プラスを立ち上げた時の設定メニューからできるはずです。
プラスは確か1000バイトまで設定できるはずです。

コマンドでやる場合はプラスを立ち上げた後に
"set lin 500"と入力して実行すると500バイトで折り返しになります。
"set lin 1000"と入力すれば1000バイトで折り返しになります。

Qbatである文字列内に特定の文字列が含まれているか確認したい

batファイルの中である変数「abc」の中に「test」という文字が含まれていたら○○を行なうという分岐を作成したいのですが、どのように行なえばよいのでしょうか?

そのまま、ずばりのお答えお待ちしております。

よろしくお願い致します。

Aベストアンサー

大文字小文字を区別しなくていいなら、

if not "%abc:test=%" == "%abc%" echo 含まれていた

区別するなら、

echo %abc% | find "test" >NUL
if not ERRORLEVEL 1 echo 含まれていた

Q日付型のフィールドに空白を入れる方法を教えてください

ASP(VBScript)でSQLサーバにINSET INTO文を使ってデータを格納しているのですが、日付の部分がNULLの時、「1900/1/1」が入ってしまいます。
そのまま、空白を入れる方法はどうやったらよろしいのでしょうか?

TABLE1の内容は
番号|内容|日付です。

INSERT INTO TABLE1 VALUES ( 1, 'あいう', '')

結果
1|あいう|1900/1/1

Aベストアンサー

あとは、プログラムの書き方次第ですね、、、


If hensu=Null Or hensu="" Then
dt = "NULL"
Else
dt = "'" & hensu & "'"
End IF

E_SQL = "INSERT INTO TABLE1 VALUES & _
"( 1,'あいう', " & dt& ")"
の様に書きます。

QMS SQLServer のSQLで文字列の前にN:

MS SQLServer のSQLで文字列の前にN: をつけることをよく見かけますが、
「N:」とはいったいどんな意味なのでしょうか?
教えて下さい。

Aベストアンサー

T-SQLでの話かと思いますが・・・。NCHAR/NVARCHAR型という、型(タイプ)があるのですが、これらは、夫々、national character/national character varying(SQL-92での表記法)の意味を持っています。夫々、固定長文字列(Unicode)/可変長文字列(Unicode)です。
NVARCHARはSQL-Server2000では4000文字まで、VARCHAR2は8000文字まで格納可です。(つまり、1/2になるということです)

さて、N'***' とT-SQL内で書くと、''内の文字をUnicodeで表現されたものとして処理する、という意味になります。Nは、nationalの略です。ですから、日本語を使おうとするとNは必須になる、という事ですね。

こんな感じでつかいます。#N'Unicode 文字列'

Q型 varchar から型 numeric への変換エラー。

SQLクエリアナライザを使って、あるデータベースからLEFT JOINなどを駆使し、条件にそってデータを抽出しようと必死でやっております。
今まではうまく取得できていたのに、”型 varchar から型 numeric への変換エラー。”というエラーがでるようになりました。
前回とテーブルのデータを比較してみると、IsNULL(chrShokuhinCD,'') as chrShokuhinCDで引っ掛かっているようです。
この項目には空白(スペース)が入ったデータが最近存在しているのが原因だと思うのですが。。。
空白だったとき、IsNULL(chrShokuhinCD,'') as chrShokuhinCDはどのように修正すればよいでしょうか?教えてください。

Aベストアンサー

>空白だったとき、IsNULL(chrShokuhinCD,'') as chrShokuhinCDはどのように修正すればよいでしょうか?

では質問です。
空白だったとき、どんな数値として扱えばいいでしょうか?

これで何を入れればいいかわかると思いますが。

Qコマンドプロンプトで別ユーザで実行するとき記述

Windows2000コマンドプロンプトで管理者権限でソフトを起動させようと考え
RUNAS /USER:administrator "実行ファイル名"
とバッチファイルに記述したのですが実行時にユーザーのパスワードを聞かれてしまいます。

何かユーザ名を聞かれなくする方法があれば教えてください。

Aベストアンサー

http://www.vector.co.jp/soft/winnt/util/se364267.html
こちらをどうぞ

参考URL:http://www.vector.co.jp/soft/winnt/util/se364267.html

QSQL Server のキャラクターセット(内部文字コード)は何処で定義するのでしょうか?

SQL Server超初心者です。(Oracleについては約1年ちょっとの経験はあります)どうぞよろしくお願いします。
今回SQL Server2005 を使って簡単なシステムを構築する事になりました。
SQL Serverが扱う文字コートについて教えてください。
Oracleを使っていた時の経験としてDB内部のキャラクターセットと
クライアントで使う文字セット(NLS_LANG)を意識しておかないと、いろんな「文字化け」問題に遭遇した時に対応できませんでした。
きっとSQL Serverにおいても同じような事ではないかと思いここに質問させていただきます。
以下2点についてどなたかコメント願います。
1.(Oracleでいうキャラクターセット)はどこで定義するのでしょうか?
2.OracleでいうNLS_LANGに相当するものはあるのでしょうか?
 (ひょっとしたらマイクロソフト製品なのでサーバもクライアントもCP932固定なのでしょうか?)

根本的にはシステム構築する上で『極力文字化けに遭遇したくない』思い出このような質問をさせていただきました。
『文字化け』について注意点などありましたら合わせてコメントいただければ助かります。
以上よろしくお願いします。

SQL Server超初心者です。(Oracleについては約1年ちょっとの経験はあります)どうぞよろしくお願いします。
今回SQL Server2005 を使って簡単なシステムを構築する事になりました。
SQL Serverが扱う文字コートについて教えてください。
Oracleを使っていた時の経験としてDB内部のキャラクターセットと
クライアントで使う文字セット(NLS_LANG)を意識しておかないと、いろんな「文字化け」問題に遭遇した時に対応できませんでした。
きっとSQL Serverにおいても同じような事ではないかと思いここに質問...続きを読む

Aベストアンサー

Windowsのロケールの設定を日本語にした状態でSQLServerをインストールした場合、cp932がデフォルトの照合順序になります。照合順序については参考URLをご覧下さい。

SQLServerではわかりませんが、PostgresではJDBCドライバ部分で変換していたように記憶しています。ODBCドライバではAutoTranslateという機能があります。

このため、ODBC接続で何も考えずにvarcharを使用するとcp932になります。

参考URL:http://www.microsoft.com/japan/msdn/sqlserver/sql2005/bb330962.aspx

Qselectした結果の余計な余白を取るにはどうしたらよいのでしょうか

質問が二つあります。

質問1)会社の先輩に、sql/plusでORACLEのDBに接続し、以下の命令を実行するとselectした結果をcsv形式でファイル出力できると教えてもらいました。

set num 18
set linesize 1000
set pagesize 0
set trimspool on
set colsep ','

上記の「set num 18」の意味を「sqlリファレンス」で調べても載ってなく分かりませんでした。ご存知の方は教えて下さい。また、どのようなマニュアルに載っているのかも教えて下さい。

質問2)上記命令を実行後に、名前=「NAME_KANJI」、属性=VARCHAR2(60)のカラムをselectすると次の様に出力されました。「~,XXXX…(この後空白が続く),~」次に、trim(NAME_KANJI)、substr(NAME_KANJI,1)、substr(NAME_KANJI,length(NAME_KANJI))などで出力すると「XXXX]の後の空白が更に長く出力されまました。substr(NAME_KANJI,1,4)なら「XXXX]の後の空白がなくなるのですが、登録されている文字数は不定のため、文字数に応じて空白を除いて出力する方法はあるのでしょうか、あればその方法を教えて下さい。よろしくお願いします。

質問が二つあります。

質問1)会社の先輩に、sql/plusでORACLEのDBに接続し、以下の命令を実行するとselectした結果をcsv形式でファイル出力できると教えてもらいました。

set num 18
set linesize 1000
set pagesize 0
set trimspool on
set colsep ','

上記の「set num 18」の意味を「sqlリファレンス」で調べても載ってなく分かりませんでした。ご存知の方は教えて下さい。また、どのようなマニュアルに載っているのかも教えて下さい。

質問2)上記命令を実行後に、名前=「NAME_KANJI」、属性...続きを読む

Aベストアンサー

こんにちは。

回答1.
SQL*Plusユーザーズ・ガイドおよびリファレンス

回答2.
SELECT COL1||','||COL2||','||COL3
FROM テーブル名
みたいにカラムを連結させてしまう方法もありますよ。

Q処理件数を非表示にしたい

ManagementStudioでストアドプロシージャの開発をしています

開発中、デバッグのためにプロシージャをコールすると、SQLの発行の度に
「何件処理されました。」
「何件処理されました。」
「何件処理されました。」
「何件処理されました。」
「何件処理されました。」
・・・

と処理件数が表示され、確認の際に邪魔で困っています。
処理件数を非表示にするにはどうすれば良いでしょうか?

また同様に、SELECT文の発行ごとにSELECT結果がグリッドに表示されるのを非表示にできないでしょうか?

Aベストアンサー

処理件数を非表示にする方法

⇒SELECT文の前に「set nocount on」を記載すると件数は表示されません。

SELECT文の発行ごとにSELECT結果がグリッドに表示されるのを非表示にする方法

⇒デバッグのためには表示された方が良いと思いますが、
 とりあえず…SELECT文の前に「SET NOEXEC ON」を記載するとデバッグだけ実施され、
 グリッドは表示されません。
例であげると以下のとおりです。
SET NOCOUNT ON
SET NOEXEC NO
SELECT *
FROM DB.dbo.TableName
go


人気Q&Aランキング

おすすめ情報