問題タブ [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.

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

sql-server - DynamicDataWebアプリケーションの[エントリの追加]ページから自動生成GUID列を削除します

テーブルの主キーとしてGUIDを使用するデータベースを使用する動的データエンティティWebアプリケーションがあります。すべてのGUIDフィールドのデフォルト値はNEWID()に設定されているため、SQLServerはすべてのレコードに対して新しいGUIDを生成します。ただし、私の動的データWebサイトでは、新しいエントリの挿入ページにGUIDフィールドが表示され、ユーザーがデータを入力することが期待されています。フィールドが表示されないようにするにはどうすればよいですか?

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

sql-server - SQLサーバー関数内のnewid()

クエリの結果に偽の列を挿入する必要があります。これは、テーブル値関数の戻り値です。この列のデータ型はunique-identifierである必要があります。最良の方法(私は思う...)はnewid()関数を使うことです。問題は、newid()このタイプの関数内では使用できないことです。

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

sql - 既存のテーブルで newid() を newsequentialid() に変更する

現在、主キーに newid() を使用しているテーブルがいくつかあります。これにより、大量の断片化が発生しています。そのため、代わりに newsequentialid() を使用するように列を変更したいと思います。

既存のデータはかなり断片化されたままになると思いますが、新しいデータは断片化が少なくなります。これは、PK インデックスを非クラスター化からクラスター化に変更する前に、しばらく待つ必要があることを意味します。

私の質問は、これを行った経験がある人はいますか? 気をつけなければならないことを見落としていることはありますか?

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

sql - Sql Server 2005: 今日のランダム レコード

これでランダムなレコードを簡単に取得できます:

これで「今日の日付」のレコードを簡単に取得できます。

しかし、どうすれば2つを組み合わせることができますか?

1 つのランダムなレコードを取得します... 今日の日付を持つものは何でも。

何も見つからない場合...昨日から 1 つのランダムなレコードを取得します (today-1)。

何も見つからない場合...などから1つのランダムレコードを取得する、など、today-2

... 1 件のレコードが見つかるまで。

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

sql-server - API キーに NEWID() を使用することに関する問題はありますか?

私は、SQL Sever の NEWID() を使用して API キーを生成する小さな部分に取り組んでいます。キーは、Web アプリの特定の部分にアクセスするために使用され、URL を介して渡されます。キーは、新しい API コンシューマーが (Stored Proc で) 作成されるときに生成されます。キーは各コンシューマーに固有です。初期の消費者数は比較的少ないと予想されますが、時間の経過とともに増加しますが、頻度は比較的低くなります。

制約の一部は次のとおりです。

  • キーは挿入レベルで生成する必要があります
  • コンシューマごとに一意である必要があります
  • いつものように、パフォーマンスは重要です


セキュリティ、パフォーマンスなど、このアプローチに問題はありますか? 同じ結果を達成するためのより良い方法はありますか?

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

sql-server - "order by newid()" - どのように機能しますか?

このクエリを実行すると

私のテーブルから100個のランダムなレコードを取得します。

newid()ただし、リストに表示されないため、どのように機能するかについて少し混乱していselectます。誰か説明できますか?ここに何か特別なことがありnewid()ますか?

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

mysql - MsSQLNEWIDはMySQLRand()のように悪いですか

この記事によると:http://net.tutsplus.com/tutorials/other/top-20-mysql-best-practices/ ORDER BY RAND()を使用することは、次の理由で悪い考えです。

問題は、MySQLは、テーブルをソートして1行だけを与える前に、テーブル内のすべての行に対してRAND()操作(処理能力を必要とする)を実行する必要があることです。

最近、仕事の関係者が、MsSQL(私はあまり知りません)を使用するときにORDER BY NEWID()を使用できることを発見しました。さて、私の質問は、RAND()を使用するのと同じくらいNEWID()を使用するのは悪い考えですか?もしそうなら、それはどのように行われるべきですか?

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

sql - Sql Server - uniqueidentifier 値を char に変換するには結果スペースが不十分です

あるテーブルから別のテーブルにデータをコピーしているときに SQL クエリを実行すると、以下のエラーが発生します。

メッセージ 8170、レベル 16、状態 2、行 2 uniqueidentifier 値を char に変換するための十分な結果スペースがありません。

私のSQLクエリは、

私のテーブル作成スクリプトは、

NEWID()に問題があると確信しています。取り出して文字列に置き換えると、機能しています。

助けていただければ幸いです。前もって感謝します。

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

sql - SQL SP が一貫して一意の newid() を生成しない

作成したストアド プロシージャに問題があります。約 6 か月前に sql でプログラミングを始めたばかりなので、SP が雑に見えるかもしれません。あらかじめご了承ください。私が抱えている問題は次のとおりです: テーブルの一番上の項目を選択し、newid() に等しい変数を作成し、その項目を 3 つの異なるテーブルに挿入してから、一番上の項目を削除し、すべての項目までループします挿入/削除されます。場合によっては、newid() が生成されるときに、前回ストアド プロシージャが実行されたときに生成されたものを使用しているように見えます。「23000 (2601):[Microsoft][ODBC SQL Server Driver][SQL Server]一意のインデックス 'ak_lab_nor1' を持つオブジェクト 'dbo.lab_nor' に重複するキー行を挿入できません」. 生成された newid を出力し、それが lab_nor テーブルに既に存在するかどうかを確認しました。ループ中に newid() が更新されていないようです。これがストアドプロシージャです。

~~~~~編集 @Order_ID 変数が常にリセットされるとは限らないようです。SP を実行し、ループを終了する前に 1 回だけ挿入すると、うまくいきます。実行して、終了する前に 2 回挿入しようとすると、エラーが発生します。変数で SET と SELECT の両方を使用してみましたが、どちらも同じ問題を抱えています。

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

sql-server-2000 - SQL Server 2000 で最後に挿入された UNIQUEIDENTIFIER を取得する

このOUTPUT句は SQL Server 2005 と互換性がありますが、SQL Server 2000 とは互換性がありません。

このコマンドを SQL Server 2000 で動作するように変換するにはどうすればよいですか?

INSERTコマンドはストアド プロシージャから呼び出す必要があるため、ID を取得するコマンドが必要です。

助けてくれてありがとう!