【发布时间】:2014-05-24 06:36:53
【问题描述】:
我在我的数据库表中添加了一个 GUID 字段,我想通过创建一个 guid 值然后将其存储到相关字段来更新现有用户,但是当我使用变量时我似乎无法执行该语句,这里是我的代码:
--Declaration of Script Variables
DECLARE @companyGUID UNIQUEIDENTIFIER
DECLARE @companyDomain NVARCHAR(256)
SET @companyGUID = NEWID()
SET @companyDomain = 'DOMAIN NAME HERE'
--Company Table Update
ALTER TABLE Company ADD GUID UNIQUEIDENTIFIER DEFAULT @companyGUID NOT null
ALTER TABLE Company ADD HasCampaignMonitor BIT
ALTER TABLE Company ADD CampaignMonitorListID NVARCHAR(32)
ALTER TABLE Company ADD CampaignMonitorApiKey NVARCHAR(32)
ALTER TABLE Company ADD CampaignMonitorClientID NVARCHAR(32)
ALTER TABLE Company ADD CampaignMonitorIntegratorID NVARCHAR(16)
ALTER TABLE Company ADD CampaignMonitorRedirectUrl NVARCHAR(256)
UPDATE Company SET GUID = @companyGUID where CompanyID = 1
UPDATE Company SET HasCampaignMonitor = 0 where CompanyID = 1
--User Table Update
ALTER TABLE User ADD GUID UNIQUEIDENTIFIER DEFAULT @companyGUID
ALTER TABLE User ADD DomainStub NVARCHAR(256) DEFAULT @companyDomain
--Activity Progress Table Update
ALTER TABLE ActivityProgress ADD GUID UNIQUEIDENTIFIER DEFAULT @companyGUID
--Answer Table Update
ALTER TABLE Answer ADD GUID UNIQUEIDENTIFIER DEFAULT @companyGUID
【问题讨论】:
-
您真的要多次运行此脚本并且每次运行时都需要
@companyGUID值实际上不同吗?如果没有,只需生成一次 Guid 并将其按字面意思放入脚本中。
标签: sql-server tsql variables sql-update alter-table