GNU/Linux >> Belajar Linux >  >> Panels >> Plesk

Pencarian SQL Global

Penelusuran SQL Global Jika Anda perlu melakukan pencarian global pada database SQL tanpa membuat perubahan apa pun, Anda dapat menggunakan skrip di bawah ini untuk membuat prosedur tersimpan terlebih dahulu, lalu menjalankan prosedur untuk melakukan pencarian pada database.

Script untuk Membuat Stored Procedure

CREATE PROC SearchAllTables
(
    @SearchStr nvarchar(100)
)
AS
BEGIN

    CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

    SET NOCOUNT ON

    DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
    SET  @TableName = ''
    SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

    WHILE @TableName IS NOT NULL

    BEGIN
        SET @ColumnName = ''
        SET @TableName = 
        (
            SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
            FROM     INFORMATION_SCHEMA.TABLES
            WHERE         TABLE_TYPE = 'BASE TABLE'
                AND    QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
                AND    OBJECTPROPERTY(
                        OBJECT_ID(
                            QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
                             ), 'IsMSShipped'
                               ) = 0
        )

        WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)

        BEGIN
            SET @ColumnName =
            (
                SELECT MIN(QUOTENAME(COLUMN_NAME))
                FROM     INFORMATION_SCHEMA.COLUMNS
                WHERE         TABLE_SCHEMA    = PARSENAME(@TableName, 2)
                    AND    TABLE_NAME    = PARSENAME(@TableName, 1)
                    AND    DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal')
                    AND    QUOTENAME(COLUMN_NAME) > @ColumnName
            )

            IF @ColumnName IS NOT NULL

            BEGIN
                INSERT INTO #Results
                EXEC
                (
                    'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) 
                    FROM ' + @TableName + ' (NOLOCK) ' +
                    ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
                )
            END
        END    
    END

    SELECT ColumnName, ColumnValue FROM #Results
END

Script untuk Menjalankan Prosedur Tersimpan

use <datbasename>

EXEC SearchAllTables '<searchterm>'

GO

Setelah Anda menjalankan prosedur tersimpan, Anda dapat menghapusnya dengan memperluas database> Programmability> Stored Procedures mengklik kanan SearchAllTables prosedur dan memilih hapus .


Plesk
  1. Bagaimana Cara Mempercepat Pencarian Di Dash?

  2. Bagaimana Mengubah Tingkat Kompatibilitas Database SQL

  3. Cara Menemukan Tabel Besar di Database SQL

  1. Kesalahan MS SQL Server 0x80070218

  2. Kesalahan Kebuntuan Transaksi MSSQL

  3. Plesk MS SQL Webadmin Kesalahan

  1. Jalankan Sql Server Di Ubuntu?

  2. Simpan Sesi ASP.NET di MS SQL Server

  3. Pencarian interaktif sesi tmux