sql >> データベース >  >> RDS >> Sqlserver

プロシージャが「ntext/nchar/nvarchar」タイプのパラメータ「@statement」を期待するのはなぜですか。 sp_executesqlを使おうとすると?

    NVARCHARである必要があるときに、VARCHARステートメントを使用してsp_executesqlを呼び出しているように聞こえます。

    例えば@SQLはNVARCHARである必要があるため、これによりエラーが発生します

    DECLARE @SQL VARCHAR(100)
    SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
    EXECUTE sp_executesql @SQL
    

    だから:

    DECLARE @SQL NVARCHAR(100)
    SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
    EXECUTE sp_executesql @SQL
    


    1. EFコア-テーブル'*.__EFMigrationsHistory'は存在しません

    2. 警告#1264:mysqlの範囲外エラー

    3. テーブルのサイズが予想より4倍以上大きいのはなぜですか? (行*バイト/行)

    4. 24時間の価値