問題タブ [sybase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5379 参照

sybase - PowerDesigner - 生成された SQL で DB 名が大文字にならないようにする

私は現在、Sybase PowerDesigner とその Physical Data Model (PDM) をいじり始めています。

私はいくつかのエンティティ/テーブル、列などを作成することができました.生成されたSQLの場合(モデルからデータベースを作成するため)は、私が望むようなものです.

ただし、データベース名に関しては、PowerDesigner は常に大文字にすることを主張しています。実際には、エラー メッセージなどは表示されず、大文字と小文字が混在するデータベース名を入力することも許可されていますが、[モデル プロパティ] ウィンドウを閉じて戻って確認するとすぐに、データベースコードネームは大文字に戻しました。

ロジック名をコード名に接続する「=」ボタンのチェックを外して、別のコード名を入力できるようにしましたが、それでも機能しません (テーブルの場合は機能します)。

PowerDesigner で指定したケースに対応する、生成された SQL スクリプトにデータベース名を含める方法はありますか? DBMS の種類は SQL Server 2008 です (以前のバージョンを試しても問題は同じです)。

よろしくお願いします。

0 投票する
1 に答える
1139 参照

vba - Excel から Sybase db に日本語の文字を挿入する

エクセルのセルで日本語のテストが見れます。ADO を使用して挿入クエリを作成しました。DBへの挿入は行いますが、日本語は単純に「????」と表現します。どんな助けでも大歓迎です。

0 投票する
2 に答える
408 参照

c# - C# で compute 句を使用して SQL を呼び出す

C#でcompute句を使用してSQLコマンドを呼び出す方法を知っている人はいますか? 内部エラー 30016 が発生します。

私のデータベースは Sybase 12.5.4 です。

0 投票する
1 に答える
1805 参照

sql - 文字列の値がすべて数字であることを確認するためのチェック制約

これは、数字のみを含む文字列の CHECK CONSTRAINT に似ています。(Oracle SQL)しかし、Sybaseでこれを行いたいです。

文字列 'colExp' (8 文字) があります。この列の値がすべて数字であることを確認するチェック制約を設定したいと考えています。

これどうやってするの?これは機能しますが、エレガントではありません

0 投票する
2 に答える
6060 参照

paging - 一時テーブルを作成せずにSybaseでページングを行うにはどうすればよいですか?(oracle rownumの問題)

Oracleでは、通常、このようにページングをクエリします。

ただし、SybaseDBMSには「rownum」関数はありません。

そのクエリをSybaseでまったく同じようにするにはどうすればよいですか?

私はいくつかの方法を見つけました。

  1. 「行数」を使用する

    行数10を設定

    TABLEAから*を選択

  2. IDを使用(一時テーブルを作成)

    SELECT *、ROWNUM = IDENTITY(8)INTO #TEMP FROM TABLEA

    SELECT * FROM #TEMP WHERE ROWNUM <#pageend#AND ROWNUM> =#pagestart#

    ドロップテーブル#TEMP

これらは私が望むものではありません。

行数はセッションレベルで設定されており、一時テーブルを作成したくありません。

0 投票する
1 に答える
211 参照

sybase - テーブル選択を強制的にブロックを越える方法

どうすれば、Sybase のデータベース エンジンがレコードのソートされていないリストを数値順以外で返すようにできますか?

~~~

ID が順番に生成されるテーブルから選択するアプリケーションでエラーを再現する必要があるという問題がありますが、ID は選択の最後の ID ではありません。

説明させてください。

上記は3つのIDです。これらがの結果になるコードがありました

ただし、status = 'O' (オープン) をチェックする句はありませんでした。Sybase は最後に返されたレコードを変数に保存することを思い出してください。

~~~~~

テストチームに、結果が機能しないものを提供するよう求められています。Sybase が順序付けされていないリストで上記を選択すると、昇順で表示される可能性があります。または、データベース エンジンが格納されたデータのブロックまたは何か技術的なマジックを変更する必要がある場合、順序がめちゃくちゃになる可能性があります。元のエラーは、プロシージャーが 1236 ではなく 1234 を返す場合でした。

Sybase がデータのブロックを検索し、効果的に昇順検索を「中断」して、最後のレコードではなく他のレコードを返すように100% 保証できる方法はありますか? (最大値を除くすべてのレコードは、すべて「クローズ」されているため、エラーになります)

テーブルを正確な数値順に検索しないようにする魔法の SQL コードが必要です。理想的には、テスト チームはまったく同じ手順が壊れていることを確認したいので、手順を変更する必要はありません (order by id desc結果をごまかすのと同じくらい簡単です)。

0 投票する
2 に答える
1054 参照

sql - Sql Server 2005 の Create Table ステートメントにロック オプションを追加する

Sybase データベースから Sql Server にテーブルを作成するのに忙しいです。Sybase データベースでは、テーブルの作成時に「すべてのページをロック」オプションが使用されました。Sql Server 2005 でテーブルを作成するときにこれを複製するにはどうすればよいですか。

0 投票する
1 に答える
2095 参照

sql - sybase - showplan は、クエリに別のテーブルを追加することで、推定 I/O を大幅に削減します

クエリのアプリケーションが変更されましたが、理論は同じです。

4 つのテーブル:

状態 - 状態のリスト (状態のインデックス) ストア - ストア、およびそれらの状態 (状態、ストアの個別のインデックス)ステータス (注文、ステータスの別のインデックス)

特定の州の各ステータスにある注文数をカウントしたいと考えています。

1 つのクエリ:

ストアから os.order_status、count(os.order_status) を選択する sto、store_order so、order_statuses os where sto.state = 'PA' and sto.store = so.store and so.order = os.order group by os.order_status

実際のアプリケーションでは、ここでの showplan は約 500,000 の推定 I/O で返されます

しかし、もしそうなら:

状態 sta、stores、store_order so、order_statuses os から os.order_status、count(os.order_status) を選択します。 order = os.order_status による os.order グループ

I/O は約 2,000 と推定されます。クエリを変更するために行ったのは、states テーブルを store テーブルに結合し、stores ではなく states で正確な値を指定することだけでした。

明示的な値を指定するか、その明示的な値で別のテーブルに参加するかに関係なく、DBM はストアの同じ検索を行う必要がありますか?

推定 I/O がこれほど高い理由を突き止めようとしています。

私は DBA ではありませんが、できる限り多くのことを学ぼうとしています。なぜなら、私はいつもこのようなことを経験していて、その理由がよくわからないからです。

0 投票する
29 に答える
996286 参照

sql - IDENTITY_INSERT が OFF に設定されている場合、テーブル 'table' の ID 列に明示的な値を挿入できません

次のスクリプトを実行すると、次のエラーが発生します。エラーの内容と解決方法を教えてください。

エラー:

サーバー: メッセージ 544、レベル 16、状態 1、行 1

IDENTITY_INSERT が OFF に設定されている場合、テーブル 'table' の ID 列に明示的な値を挿入できません。

0 投票する
3 に答える
1771 参照

sybase - KPIDはSybase内でグローバルに一意ですか?

KPID(as select kpid from master..sysprocesses)は、グローバルかつ常に一意であると見なすことができますか? (私の小さなサンプルセット(2 ^ 16)についてはわかりましたが、以前のログインとspidが新しいとKPID(n+1) ~= KPID(n) + 65536 一致していても、以前のdb接続kpidは一意であると想定できるかどうかを知りたいです)loginamespid

乾杯。

BLT。

すでに回答済み)* B)Loginame:現在のspidからloginameを取得するにはどうすればよいですか?loginameはの列ではなく、列が含まれているsysprocessesテーブル以外のテーブルは見つかりません。また、プログラムでsp_whoから抜け出すこともできません。たぶん、生成に使用されるSQLが役立つでしょう。sysobjectsloginameloginamesp_who