데이터베이스가 존재하는 쿼리
SELECT name FROM master.dbo.sysdatabases WHERE name = 'Arch_ESales_' + @search_year
응용
DECLARE @SQL NVARCHAR(MAX)
--Check V_CA_PURCHASEORDERS Exists
DECLARE @PurchaseOrders NVARCHAR(30)
DECLARE @FnGetOrderStatusWithFraud NVARCHAR(40)
SET @SQL = N'SELECT @PurchaseOrders = TABLE_NAME FROM Arch_ESales_'+ @search_year + N'.INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = ''dbo'' AND TABLE_NAME = ''V_CA_PURCHASEORDERS'''
EXECUTE sp_executesql
@SQL,
N'@PurchaseOrders NVARCHAR(30) OUTPUT',
@PurchaseOrders OUTPUT
IF @PurchaseOrders IS NULL
BEGIN
SET @FnGetOrderStatusWithFraud = N'fnGetOrderStatusWithFraud'
SET @PurchaseOrders = N'PurchaseOrders'
END
ELSE
BEGIN
SET @FnGetOrderStatusWithFraud = N'fnGetOrderStatusWithFraud_CA'
END
SELECT name FROM master.dbo.sysdatabases WHERE name = 'Arch_ESales_' + @search_year
응용
DECLARE @SQL NVARCHAR(MAX)
--Check V_CA_PURCHASEORDERS Exists
DECLARE @PurchaseOrders NVARCHAR(30)
DECLARE @FnGetOrderStatusWithFraud NVARCHAR(40)
SET @SQL = N'SELECT @PurchaseOrders = TABLE_NAME FROM Arch_ESales_'+ @search_year + N'.INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = ''dbo'' AND TABLE_NAME = ''V_CA_PURCHASEORDERS'''
EXECUTE sp_executesql
@SQL,
N'@PurchaseOrders NVARCHAR(30) OUTPUT',
@PurchaseOrders OUTPUT
IF @PurchaseOrders IS NULL
BEGIN
SET @FnGetOrderStatusWithFraud = N'fnGetOrderStatusWithFraud'
SET @PurchaseOrders = N'PurchaseOrders'
END
ELSE
BEGIN
SET @FnGetOrderStatusWithFraud = N'fnGetOrderStatusWithFraud_CA'
END
댓글
댓글 쓰기