問題タブ [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.
sql - コンマ区切りリストをストアドプロシージャに渡す方法は?
したがって、文字列のコンマ区切りリストである 1 つのパラメーターを取り、IN() 句でクエリを実行する Sybase ストアド プロシージャがあります。
リストに複数の値があるストアド プロシージャを呼び出すにはどうすればよいですか? これまで私は試しました
編集:実際に、配列をsprocに渡すさまざまな方法の優れたリファレンスがあるこのページを見つけました
tsql - Sybase(T-SQL)でのvarchar日付検証の最良の方法は?
後で使用するために日時としてキャストする必要があるvarcharをパラメーターとして受け取るストアドプロシージャがあります。
日付文字列は「DD-MON-YYYY」の形式で提供されることを期待していますが、防御的にコーディングするために、何らかの理由で正常にキャストできない場合は、デフォルトでシステムの日付と継続する。PL / SQLでは、例外処理を使用してこれを実現でき、正規表現でもかなり簡単に実行できましたが、Sybaseでサポートされている制限付きのパターンマッチングではこれを実行できず、信頼できません。サードパーティのライブラリまたは拡張機能。T-SQLでこれを行う簡単な方法はありますか?
注意:Sybase ASE 12.5.3を使用する場合、ISDATE関数はありません。
tsql - T-SQL での一時テーブルのインデックスの最適な使用法
ストアド プロシージャ内に一時テーブルを作成していて、それに 1 つまたは 2 つのインデックスを追加して、それに対して作成された追加ステートメントのパフォーマンスを向上させたい場合、最善の方法は何ですか? Sybase は次のように述べています。
「インデックスを作成するとき、テーブルにはデータが含まれている必要があります。一時テーブルを作成し、空のテーブルにインデックスを作成する場合、Adaptive Server はヒストグラムや密度などのカラム統計を作成しません。インデックスの作成後にデータ ローを挿入すると、オプティマイザの統計が不完全です。」
しかし最近、同僚が、一時テーブルを実際に使用するストアド プロシージャとは別のストアド プロシージャで一時テーブルとインデックスを作成すると、Adaptive Server オプティマイザがそれらを利用できると言いました。
全体として、私はほとんど付加価値のないラッパー手順の大ファンではないので、実際にこれをテストすることはできませんでしたが、誰かが他に何か持っているかどうかを確認するために、そこに質問を出そうと思いました.アプローチやアドバイス?
performance - Sybaseでの大文字と小文字を区別しない検索
Sybase ASEで大文字と小文字を区別しない検索を実行するためのソリューションをグーグルで検索することにうんざりしています(Sybaseデータ/列名では大文字と小文字が区別されます)。Sybaseのドキュメントには、Upper関数とLower関数を使用するこのような検索を実行する方法は1つしかないと誇らしげに記載されていますが、格言にはパフォーマンスの問題があります。そして、それらが正しいと信じてください。テーブルに膨大なデータがある場合、パフォーマンスは非常に厄介であり、UpperとLowerを再び使用することはありません。仲間の開発者への私の質問は、どうやってこれに取り組むのかということです。
PSソート順を変更したり、他のデータベースに移動したりしないでください。実際の開発者はデータベースを制御しません。
sap-ase - ストアドプロシージャから一時テーブルにデータを取得するにはどうすればよいですか?
sybaseASE15に取り組んでいます。このようなものを探しています
my_stpは、各行に2つの列がある10個のデータ行を返します。
tsql - T-SQLで変数の割り当てとデータ取得操作を組み合わせる方法
明確にするために、私はSybase 12.5.3を実行していますが、これはSQLServer2005にも当てはまると思います。基本的に、私はこのようなクエリを作成しようとしています。問題を強調するために、可能な限り単純化しました。
このクエリにより、次のエラーが発生します。「エラー:141変数に値を割り当てるSELECTステートメントは、データ取得操作と組み合わせてはなりません。」
これまでに私が得た唯一の回避策は、派生テーブルのデータを一時テーブルに挿入してから、もう一度選択することです。これは問題なく機能しますが、これが機能しないという事実は私を苛立たせます。これを行うためのより良い方法はありますか?
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
stored-procedures - プロシージャに表示されるテキスト文字列を指定して、dbでSybaseストアドプロシージャを検索します
プロシージャのどこかに表示されるテキスト文字列を指定して、Sybaseデータベースでストアドプロシージャを見つけるにはどうすればよいですか?db内の他のprocが、私が見ているものと同様のロジックを持っているかどうかを確認したいのですが、かなりユニークな検索文字列(リテラル)があると思います
編集:
Sybaseバージョン11.2を使用しています
ssis - SSISでSybase.Data.ASEClient.dll.NETプロバイダーを使用するにはどうすればよいですか。
SSISでデータ接続を作成しようとしています。Sybase.Data.ASEClient.dllバージョン1.1.680をインストールしていますが、これは.Netプロバイダーとして表示されません。
このADO.NETプロバイダーをSSISで使用することは可能ですか?使用できる場合、どうすればアクセス可能にできますか?
tsql - Sybase (TSQL) でテーブルを条件付きで作成するにはどうすればよいですか?
OK、Sybase (12.5.4) では、テーブルが既に存在する場合、次のようにしてテーブルを削除できます。
しかし、テーブルの作成で同じことをしようとすると、テーブルが既に存在するという警告が常に表示されます。これは、先に進んでテーブルを作成しようとし、条件ステートメントを無視したためです。次のステートメントを 2 回実行してみてください。言いたいことがわかります。
上記を実行すると、次のエラーが発生します。
SQL Server エラー (localhost) エラー: 2714 行: 7 メッセージ: データベースには、'a_table' という名前のオブジェクトが既に存在します。
それはどうしたの?