問題タブ [sap-ase]

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 投票する
11 に答える
48512 参照

sql - コンマ区切りリストをストアドプロシージャに渡す方法は?

したがって、文字列のコンマ区切りリストである 1 つのパラメーターを取り、IN() 句でクエリを実行する Sybase ストアド プロシージャがあります。

リストに複数の値があるストアド プロシージャを呼び出すにはどうすればよいですか? これまで私は試しました

編集:実際に、配列をsprocに渡すさまざまな方法の優れたリファレンスがあるこのページを見つけました

0 投票する
7 に答える
9808 参照

tsql - Sybase(T-SQL)でのvarchar日付検証の最良の方法は?

後で使用するために日時としてキャストする必要があるvarcharをパラメーターとして受け取るストアドプロシージャがあります。

日付文字列は「DD-MON-YYYY」の形式で提供されることを期待していますが、防御的にコーディングするために、何らかの理由で正常にキャストできない場合は、デフォルトでシステムの日付と継続する。PL / SQLでは、例外処理を使用してこれを実現でき、正規表現でもかなり簡単に実行できましたが、Sybaseでサポートされている制限付きのパターンマッチングではこれを実行できず、信頼できません。サードパーティのライブラリまたは拡張機能。T-SQLでこれを行う簡単な方法はありますか?

注意:Sybase ASE 12.5.3を使用する場合、ISDATE関数はありません。

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

tsql - T-SQL での一時テーブルのインデックスの最適な使用法

ストアド プロシージャ内に一時テーブルを作成していて、それに 1 つまたは 2 つのインデックスを追加して、それに対して作成された追加ステートメントのパフォーマンスを向上させたい場合、最善の方法は何ですか? Sybase は次のように述べています

「インデックスを作成するとき、テーブルにはデータが含まれている必要があります。一時テーブルを作成し、空のテーブルにインデックスを作成する場合、Adaptive Server はヒストグラムや密度などのカラム統計を作成しません。インデックスの作成後にデータ ローを挿入すると、オプティマイザの統計が不完全です。」

しかし最近、同僚が、一時テーブルを実際に使用するストアド プロシージャとは別のストアド プロシージャで一時テーブルとインデックスを作成すると、Adaptive Server オプティマイザそれらを利用できると言いました。

全体として、私はほとんど付加価値のないラッパー手順の大ファンではないので、実際にこれをテストすることはできませんでしたが、誰かが他に何か持っているかどうかを確認するために、そこに質問を出そうと思いました.アプローチやアドバイス?

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

performance - Sybaseでの大文字と小文字を区別しない検索

Sybase ASEで大文字と小文字を区別しない検索を実行するためのソリューションをグーグルで検索することにうんざりしています(Sybaseデータ/列名では大文字と小文字が区別されます)。Sybaseのドキュメントには、Upper関数とLower関数を使用するこのような検索を実行する方法は1つしかないと誇らしげに記載されていますが、格言にはパフォーマンスの問題があります。そして、それらが正しいと信じてください。テーブルに膨大なデータがある場合、パフォーマンスは非常に厄介であり、UpperとLowerを再び使用することはありません。仲間の開発者への私の質問は、どうやってこれに取り組むのかということです。

PSソート順を変更したり、他のデータベースに移動したりしないでください。実際の開発者はデータベースを制御しません。

0 投票する
4 に答える
49297 参照

sap-ase - ストアドプロシージャから一時テーブルにデータを取得するにはどうすればよいですか?

sybaseASE15に取り組んでいます。このようなものを探しています

my_stpは、各行に2つの列がある10個のデータ行を返します。

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

tsql - T-SQLで変数の割り当てとデータ取得操作を組み合わせる方法

明確にするために、私はSybase 12.5.3を実行していますが、これはSQLServer2005にも当てはまると思います。基本的に、私はこのようなクエリを作成しようとしています。問題を強調するために、可能な限り単純化しました。

このクエリにより、次のエラーが発生します。「エラー:141変数に値を割り当てるSELECTステートメントは、データ取得操作と組み合わせてはなりません。」

これまでに私が得た唯一の回避策は、派生テーブルのデータを一時テーブルに挿入してから、もう一度選択することです。これは問題なく機能しますが、これが機能しないという事実は私を苛立たせます。これを行うためのより良い方法はありますか?

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

character-encoding - データベースで使用されている文字セットを見つける方法

.NET プログラム (ODBC を使用) またはデータベース管理ツール (Java で記述) からデータベースにアクセスできます。

.NET プログラムからデータベースに 'é' 文字を書き込むと、DB 管理ツールでは 'Õ' (チルダ付きの大文字の O) として表示されます。

DB管理ツールからデータベースに「é」を書き込むと、.NETプログラム上では「Å」(大文字のAの上に丸)と表示されます。

私は実際に問題を解決しようとしているわけではありません (つまり、両方のプログラムが同じことを表示すること)。.NET を使用してデータをダンプし、ツールを使用して再入力した場合に自分で変換できるように、それぞれがデータの解釈に使用している文字セットを推測しようとしているだけです。

では、上記の文字の不一致を引き起こすのは、2 つの文字セットのどの組み合わせでしょうか?

ご協力いただきありがとうございます。

編集: Sybase ASE 12.5を使用

編集:基本的に質問です: E9 コード ポイントが文字 'Õ' (大文字の O にチルダ) または 'Å' (大文字の A に丸印) を表す文字エンコーディングを知っていますか? (これは、そのうちの1人がLatin 1を使用しているため、E9であると想定しています。これはかなり可能性が高いと思います)

編集:ポールのソリューションはそれを行います。文字セットに関する答えは次のとおりです: hp-roman8

0 投票する
6 に答える
58752 参照

stored-procedures - プロシージャに表示されるテキスト文字列を指定して、dbでSybaseストアドプロシージャを検索します

プロシージャのどこかに表示されるテキスト文字列を指定して、Sybaseデータベースでストアドプロシージャを見つけるにはどうすればよいですか?db内の他のprocが、私が見ているものと同様のロジックを持っているかどうかを確認したいのですが、かなりユニークな検索文字列(リテラル)があると思います

編集:

Sybaseバージョン11.2を使用しています

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

ssis - SSISでSybase.Data.ASEClient.dll.NETプロバイダーを使用するにはどうすればよいですか。

SSISでデータ接続を作成しようとしています。Sybase.Data.ASEClient.dllバージョン1.1.680をインストールしていますが、これは.Netプロバイダーとして表示されません。

このADO.NETプロバイダーをSSISで使用することは可能ですか?使用できる場合、どうすればアクセス可能にできますか?

0 投票する
9 に答える
39334 参照

tsql - Sybase (TSQL) でテーブルを条件付きで作成するにはどうすればよいですか?

OK、Sybase (12.5.4) では、テーブルが既に存在する場合、次のようにしてテーブルを削除できます。

しかし、テーブルの作成で同じことをしようとすると、テーブルが既に存在するという警告が常に表示されます。これは、先に進んでテーブルを作成しようとし、条件ステートメントを無視したためです。次のステートメントを 2 回実行してみてください。言いたいことがわかります。

上記を実行すると、次のエラーが発生します。

SQL Server エラー (localhost) エラー: 2714 行: 7 メッセージ: データベースには、'a_table' という名前のオブジェクトが既に存在します。

それはどうしたの?