如何用最简单的方法在一个表内插入空行?

laoxin 2005-09-12 01:20:41
现有一个表:

1、字段名、数据类型及字段数目不确定;
2、各字段均不允许null值;
3、各字段没有设置default值。

请问:如何用简单的方法在这个表内插入一个空行?

敬请高手指点,谢谢!
...全文
374 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoxin 2005-09-30
  • 打赏
  • 举报
回复
在此感谢libin_ftsafe(子陌红尘)的指教。
My97 2005-09-13
  • 打赏
  • 举报
回复
楼主可以尝试用recordset做,他里面有个 addnew 方法 可以添加一条新的记录 而且跟字段无关的 很久没碰这个了,你可以去研究看看行不行
szztao 2005-09-13
  • 打赏
  • 举报
回复
如果设置了默认值,则可以用下面语句添加,否则没办法处理
insert into Table1 default values
子陌红尘 2005-09-13
  • 打赏
  • 举报
回复
try:
-----------------------------------------------------------------------
--创建通用存储过程
create procedure sp_test(@tname varchar(100))
as
begin
declare @name varchar(100),@xtype int,@v varchar(8000),@s varchar(8000)

set @v = 'declare t_cursor cursor for select name,xtype from syscolumns where id=object_id('''+@tname+''')'
exec(@v)

open t_cursor

fetch next from t_cursor into @name,@xtype

select @s = '',@v = ''

while @@fetch_status = 0
begin
set @s = @s + ','+@name
set @v = @v + ','+case when @xtype in(173,175,34,239,99,231,35,165,167) then ''''''
else '0'
end
fetch next from t_cursor into @name,@xtype
end
close t_cursor
deallocate t_cursor

set @s = 'insert into '+@tname+'('+stuff(@s,1,1,'')+') values('+stuff(@v,1,1,'')+')'
exec(@s)
end
go

--创建测试数据表
create table test(id int not null,name varchar(10) not null,dates datetime not null)
go

--执行存储过程对test表插入空行
exec sp_test 'test'

--查看存储过程执行结果
select * from test
/*
id name dates
-- ---- -----------------------
0 1900-01-01 00:00:00.000

*/
--清除测试环境
drop table test
drop procedure sp_test
ReViSion 2005-09-12
  • 打赏
  • 举报
回复
是呀,找出字段类型,看着再给相应值就行
exinke 2005-09-12
  • 打赏
  • 举报
回复
遍历你的字段,找出期数据类型,然后给值.
laoxin 2005-09-12
  • 打赏
  • 举报
回复
我晕, phantomMan,请看清楚,字段名、数据类型及字段数目不确定,你这样写肯定不行啦!
phantomMan 2005-09-12
  • 打赏
  • 举报
回复
上面不是已经插入满足你要求的行了吗?
laoxin 2005-09-12
  • 打赏
  • 举报
回复
谢谢大家的回复,但总的来说没有真正给出解决办法,希望大家继续踊跃发跟贴解决。
phantomMan 2005-09-12
  • 打赏
  • 举报
回复
忘了说明了,我说的空行是指把字符型字段填入空字符串,数值型填入零,如果允许空值我还用上来问呀,呵呵

-----------------------------------------
那不是很简单吗?
create table a
( id int not null,
name varchar(10)
)

insert into a values(0,'')
ReViSion 2005-09-12
  • 打赏
  • 举报
回复
写默认值吧
laoxin 2005-09-12
  • 打赏
  • 举报
回复
忘了说明了,我说的空行是指把字符型字段填入空字符串,数值型填入零,如果允许空值我还用上来问呀,呵呵
yearlist 2005-09-12
  • 打赏
  • 举报
回复
楼主开玩笑吧,字段不允许为空,如何插入空值???
lxzm1001 2005-09-12
  • 打赏
  • 举报
回复
2、各字段均不允许null值;
wazh 2005-09-12
  • 打赏
  • 举报
回复
9494
CrazyFor 2005-09-12
  • 打赏
  • 举报
回复
字段不能为空怎么能插入空行?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧