Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tidak dapat mengakses tabel sementara dari dalam suatu fungsi

Anda dapat menggunakan tipe tabel yang ditentukan pengguna untuk menyelesaikan masalah Anda.

Anda tinggal membuat variabel tabel seperti

CREATE TYPE [dbo].[yourTypeName] AS TABLE(
    [columeName1] [int] NULL,
    [columeName2] [varchar](500) NULL,
    [columeName3] [varchar](1000) NULL
)
GO

dan Anda dapat mendeklarasikan variabel tabel ini dalam fungsi Anda seperti

    CREATE FUNCTION [dbo].[yourFunctionName] 
( 
    @fnVariable1 INT ,
    @yourTypeNameVariable yourTypeName READONLY
) 
RETURNS VARCHAR(8000) 
AS 
BEGIN 

    SELECT .................
        FROM @yourTypeNameVariable 
        WHERE ........
    RETURN @r 
END 

Pada prosedur Anda, Anda dapat mendeklarasikan jenis tabel Anda seperti

DECLARE @yourTypeNamevaribale AS yourTypeName 

Dan Anda dapat memasukkan nilai ke tabel ini seperti

insert into @yourTypeNamevaribale (col,col,..)values(val,val,..)

berikan ini ke fungsi Anda seperti

dbo.yourFunctionName(fnVariable1 ,@yourTypeNamevaribale )

silakan gunakan metode ini, terima kasih



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara terbaik untuk menyimpan waktu (jj:mm) dalam database

  2. Cara Memformat Angka Sebagai Mata Uang di SQL Server (T-SQL)

  3. cara terbaik untuk mengonversi dan memvalidasi string tanggal

  4. Cara menghapus baris duplikat sepenuhnya

  5. Pengenalan OPENJSON dengan Contoh (SQL Server)