問題タブ [newid]
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-server-2008 - SQL Server 2008 から Teradata にデータベースを移行しています
データベースを Sql Server 2008 から Teradata に移行していますが、次の問題に直面しています:
テーブル列の ddl の SQL Server では、次のように定義されます。
この列は newid() 関数を使用して、ユーザーが入力を提供しない場合、列 [rowguid] にランダムな varchar 値を生成して挿入します。
Teradata には、この値を生成する同様の関数はありません。
Teradata 用の同様のテーブル ddl を作成する際に、Sql Server の NEWID() 関数の代わりに使用できるものは何ですか?
sql - SQL Server : NEWID() は常に一意の ID を与えますか?
このNEWID()
関数は、既に行ったのと同じ ID を私に与えることはありませんか? a を選択するNEWID()
と、「1」が返されたとします (例として)。再び「1」を返すことはありませんか? 無理ですか?
sql - 単一の SQL Server クエリで複数のグループの半分を選択する方法は?
複合グループ ID (つまり、GroupID = Col1 + Col2 + Col3) で構成される複数のグループのレコードを含む SQL Server 2008 テーブルがあり、これらの各グループをランダムにコントロール グループに分割し、Col1 のみの値を再割り当てする必要があります。各グループの 1 つは元のグループに残り、半分は新しいグループに配置されます。各 Col2 + Col3 グループを手動で処理する必要がないように、単一のステートメントでこれを行うにはどうすればよいですか?
言い換えれば、私はこのようなことをしたいと思います:
sql - NEWID() による主キーの作成
毎晩いくつかの異なるテーブルからプル データを使用するクエリがあり、このプルは、クラウド サーバーにロードされる upsert テーブルに入ります。各行にある種の一意の識別子/主キーを設定しようとしていますが、問題があります。
SELECT SUBSTRING(CAST(NEWID() AS varchar(38)), 1, 16)
クエリを再実行するたびに、NEWID()
毎回の値が変更されるため、レコードを更新する代わりに、毎晩テーブルに重複が読み込まれます。newid()
クエリを実行するたびに静的な値を保持できる方法はありますか?
ありがとう、レイチェル
sql - SQLスクリプトファイルのNEWID()を実際のランダムGuidに置き換える方法は?
そのため、データのロードとロードをデータベースに挿入する巨大なスクリプト ファイルがあります。これがサンプルです。
いいえ、NEWID() タグは 1000 個ではないにしても 100 個ありますが、これらの ID を大量に再利用する必要があります。したがって、すべての NEWID() を実際のランダムな GUID に置き換えたいと考えています。したがって、出力は次のようになります。
私はメモ帳++を使用してこれを書いているので、検索と置換で使用できる正規表現を知っていれば素晴らしいでしょう。または、別の方法を知っている場合。
ありがとう、ベン
postgresql - uuid_generate_v1() を使用する Postgresql でエラーが発生する
私はpostgresqlでこのクエリを実行しようとしています:
uuid_generate_v1()
SQLサーバーの置き換えを読みましたnewid()
が、機能せず、次のエラーが表示されます:
エラー: 関数 uuid_generate_v1() は存在しません ヒント: 指定された名前と引数の型に一致する関数はありません。明示的な型キャストを追加する必要がある場合があります。
正しい構文は何ですか?
tsql - SQL - グループごとの 5% ランダム サンプル
約 1,000 万行と 4 列のテーブルがあり、主キーはありません。列 2 3 4 (x2 x3 および x4) のデータは、列 1 X1 で識別される 50 のグループによってグループ化されます。
テーブルから 5% のランダム サンプルを取得するために、私は常に使用してきました
結果は約 500,000 行を返します。ただし、一部のグループは、この方法でサンプリングすると、サンプル内での表現が (元のサイズと比較して) 不均等になります。
今回は、より良いサンプルを取得するために、列 X1 で特定された 50 のグループのそれぞれから 5% のサンプルを取得したいと考えました。したがって、最後に、X1 の 50 個のグループのそれぞれで行の 5% のランダム サンプルを取得できます (テーブル全体の 5% ではなく)。
どうすればこの問題にアプローチできますか? ありがとうございました。
sql - Entity Framework 6 Code First での newid()
Entity Framework 6 Code First を使用して、newid() を使用して SQL データベースのテーブルの主キーの既定値を設定したいと考えています。私はこれがコードを介してどのように行われるかを知っており、エンティティフレームワークで GUID に NewId() を設定する方法など、スタックオーバーフローに関するいくつかのアプローチも見つけました
BUT:私は、オブジェクトを介してではなく、データベースへのバルジとしてデータを挿入するバックアップ/復元メカニズムを持っています。したがって、ここでは Entity Framework は使用されません。これは、GUID が null の行が SQL データベースに挿入され、失敗することを意味します。
注釈を追加することが可能です
そして、これは NEWSEQUENTIALID() をデフォルト値として正常に追加します。これは newid() と同様のことを行います (最近の GUID よりも高い新しい GUID を追加するため、入力に順序があるため、パフォーマンスが向上します)。しかし、これは EF なしで既に存在するデータベースであるため、変更をできるだけ少なくしたいと考えています。したがって、私は NEWSEQUENTIALID() にはまったく満足していません。まだ newid() だったらいいのにと思います。しかし、Entity Framework 6 Code First で newid() の注釈/マッピングが見つかりませんでした。また、設計上、データベースへのすべての変更はコードで行う必要があります。デフォルト値 newid() をコードで行に追加する方法を知っている人はいますか?
前もって感謝します!
sql-server - NEWID() を使用すると、NEWSEQUENTIALID() よりも多くのスペースが使用されるのはなぜですか?
私は少し調査をしている最中で、説明できない異常に遭遇しました (そして、Google で何も見つけることができませんでした)。次の SQL を検討してください。
結果:
質問
NEWID() よりも NEWSEQUENTIALID() を使用すると、予約済み/実際のスペースがかなり小さくなる理由を誰でも説明できますか?
回答に応じて
以下のLuaanからの回答を確認するために、次のテストを実行しました。
違いは、主キーを削除したことです (テーブルがヒープ テーブルになったことを意味します)。これにより、両方のテーブルのサイズがまったく同じになりました。これは、テーブルがクラスター化インデックスによって物理的に編成されていることを証明します。