--直接定义一个计算列CREATE TABLE [dbo].[t] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL,
[xlh] as 'my'+left('10000000',8-len([id]))+cast([id] as varchar(100))
) insert into t select 'a'
id name xlh
-- --- ------
1 a my10000001
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL,
[xlh] as 'my'+left('10000000',8-len([id]))+cast([id] as varchar(100))
) insert into t select 'a'
id name xlh
-- --- ------
1 a my10000001
解决方案 »
- 安装sql server 2005不能选择任何组件
- 创建触发器
- 百分求助基础问题
- sql server数据导入导出数据流任务: 出现OLE DB错误。错误代码: 0x80004005
- manage studio 中看不到 sql server agent, 服务已经启动。
- 小弟是新手,希望大家说的详细些!或者给出详细的链接!!多谢!
- 无法识别AS
- 怎样在外连接中检索出满足条件的和(不是每项数据都显示)的那个表中全是空值的条目?
- 基本问题:
- 求救!SQL Server2000个人版在Win98和WinXp都安装不进去了,详情请看里面...谢谢!
- insert一行记录时,取这一行记录的一个字段值(自动递增的字段)
- 请问一个关于TOP和GROUP的问题
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[xlh] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
)
CREATE TRIGGER UP_t ON t
FOR INSERT
AS
update t set xlh='my' + cast((10000000+inserted.ID) as char) from t,inserted where t.id=inserted.idinsert t select 'A',NUllselect * from t
AS
DECLARE @Cid intDECLARE test_cursor CURSOR
FOR SELECT [id] FROM a OPEN test_cursor
FETCH NEXT FROM test_cursor INTO @Cid WHILE (@@fetch_status <> -1)
BEGIN
BEGIN
declare @xlh varchar(8000)
set @xlh = 'my' + '10000000' + CAST(@Cid AS varchar(100))
insert into t ([xlh]) values (@xlh)
END
FETCH NEXT FROM test_cursor INTO @Cid
ENDCLOSE test_cursor
DEALLOCATE test_cursor
GO
大概这样吧.