Чтобы создать таблицу ветвления:
CREATE TABLE Branch
(
bId int PRIMARY KEY,
bName varchar(20),
bCity varchar(20),
ifscCode varchar(15)
)
Процедура создания таблицы с именем c таблицы динамического типа. Имя таблицы - это последнее вставленное значение столбца ifsccode
, вставленного в таблицу перехода. Таким образом, каждый раз, когда данные вставляются в таблицу Branch
, должна создаваться другая таблица с этим ifscCode
именем:
CREATE PROCEDURE spName
AS
DECLARE @tableName VARCHAR(200), @Query VARCHAR(7000)
SET @tableName = 'SELECT TOP 1 ifscCode FROM Branch ORDER BY bId DESC'
BEGIN
SET @Query = 'create table ' + @tableName + ' ( bId int, tokenDate date,
slot int, uToken int,username varchar(30),
FOREIGN KEY (username) REFERENCES UserDetails(username),
FOREIGN KEY (bId) REFERENCES Branch(bId)
)'
EXECUTE (@Query)
END
Вставить данные:
INSERT INTO Branch
VALUES (1, 'Bandra', 'Mumbai', 'BOI650011')
Ошибка:
Сообщение 156, уровень 15, состояние 1, строка 1
Неправильный синтаксис рядом с ключевым словом «SELECT».
Сообщение 102, уровень 15, состояние 1, строка 1
Неправильный синтаксис рядом с 'bId'