sql >> データベース >  >> Database Tools >> SSMS

NEWID()/ GUID / UUIDをコードエディタに挿入するにはどうすればよいですか?

    NEWID() それ自体が関数です。呼び出されると、GUID値が返されます。

    別のウィンドウに配置して、そこから貼り付け値をコピーする必要はありません。 GUID値が必要な場所にその関数を配置するだけで、実行時にクエリが実行されるときに、この関数によって返される値が使用されます。

    たとえば、Insertステートメントで

    INSERT INTO TableName (Col1 , Col2, Col3)
    VALUES (1 , 'Value 1', NEWID())  
    

    col3にGUID値を設定する場合は、NEWID()関数から返された値をコピーして貼り付ける必要はありませんが、関数自体を使用します。実行時に、GUID値が再調整され、col3に挿入されます。

    同様に、更新している場合

    UPDATE TableName 
      SET Col3 = NEWID()
    WHERE <Some Condition>
    

    ここでも、NEWID()関数から返された値をコピーして貼り付ける必要はなく、関数自体を使用するだけです。

    もう1つのオプションは、コード内のどこかでNEWID()を呼び出せない場合です。 働き 。 UNIQUEIDENTIFIER型の変数を宣言し、その値をその変数に格納する関数を呼び出してから、コード内でその変数を使用します...

    DECLARE @GUID_Value UNIQUEIDENTIFIER;
     SET @GUID_Value = NEWID();
    
    -- Now use this variable anywhere in your code.  
    

    キーボードショートカットへの追加

    奇妙な理由で、SSMSにショートカットを追加してGUIDを生成したい場合。あなたは2つのことをする必要があるでしょう。

    1. GUID値を返すストアドプロシージャを作成します。
    2. そのストアドプロシージャを呼び出すためのキーショートカットを追加します。

    手順の定義

    CREATE PROCEDURE get_Guid
    AS 
     SELECT NEWID();
    

    ショートカットに追加

    SSMSから[ツール]->[オプション]->[環境]->[キーボード]

    に移動します

    ストアドプロシージャの名前を必要なショートカットに追加します。 [OK]をクリックします。 SSMSを閉じて再度開くと、準備が整います。

    上記のスニップショットに示されているように、 CTRLを押すと + 0 同じクエリウィンドウにGUID値が生成されます。



    1. 大規模なデータベースをエクスポートするmysqlphpmyadmin

    2. phpmyadminを使用したPHP7は、多くの非推奨通知を提供します

    3. 列全体を暗号化するにはどうすればよいですか

    4. 古いMySQLバックアップの復元