Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Има ли начин да направите друга заявка в рамките на заявката за вмъкване?

Настройка:

USE TempDB;
GO

CREATE TABLE dbo.Leads
(
    LeadID VARCHAR(64),
    CreateUser VARCHAR(32),
    CreateDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    FirstName VARCHAR(32),
    AccountID INT
);

CREATE TABLE dbo.Accounts
(
    AccountID INT IDENTITY(1,1),
    name VARCHAR(32) /* , ... other columns ... */
);

CREATE TABLE dbo.Temp(name VARCHAR(32));

INSERT dbo.Temp SELECT 'foo'
UNION SELECT 'bar';

Заявка:

INSERT dbo.Accounts
(
    name
)
OUTPUT
    'Q' + cast(floor(999997 * RAND(convert(varbinary, newid()))) as varchar(20)),
    'U6UJ9000S',
    CURRENT_TIMESTAMP,
    inserted.name,
    inserted.AccountID
INTO dbo.Leads
SELECT name
FROM dbo.Temp;

Проверка:

SELECT * FROM dbo.Accounts;
SELECT * FROM dbo.Leads;

Почистване:

USE tempdb;
GO
DROP TABLE dbo.Temp, dbo.Accounts, dbo.Leads;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да промените съпоставянето на база данни на SQL Server с помощта на T-SQL

  2. Има ли начин да промените стойностите за FixedLenNullInSource и TrimTrailingBlanks?

  3. Как да върнете изхода на съхранената процедура в променлива в sql сървър

  4. Скрити подобрения в производителността и управляемостта в SQL Server 2012 / 2014

  5. SQL MERGE към таблица на отдалечен (свързан) сървър