所以我需要弄清楚如何获取记录计数值并将该计数用作插入表中的新值。
Ex:在我的存储过程中
@Count int
我在寻找什么
@Count等于“_fieldName描述从_someTable顺序中选择top(1)_fieldName”
最后
插入_newTable(_fieldName)值(@Count)
结束
我不必使用变量,只是试图展示我真正想要做的事情。我的SQL知识非常有限,所以不要笑,也不要傻笑! ;)
答案 0 :(得分:1)
在SQL SERVER中
DECLARE @Count INT
SET @COUNT = SELECT COUNT(*) FROM SomeTable
insert into newTable (fieldName) values (@Count)
OR
INSERT INTO newTable (fieldName)
SELECT COUNT(*) FROM SomeTable
答案 1 :(得分:1)
您应该使用INSERT-SELECT
。这是INSERT
,它使用从SELECT
返回的所有行作为要插入的值。所以尝试这样的东西(SQL Server示例代码):
DECLARE @TableToCount table (fieldName varchar(5))
INSERT INTO @TableToCount VALUES ('A')
INSERT INTO @TableToCount VALUES ('B')
INSERT INTO @TableToCount VALUES ('C')
DECLARE @TableToStore table (fieldName int)
INSERT INTO @TableToStore
(fieldName)
SELECT
COUNT(fieldName)
FROM @TableToCount
SELECT * FROM @TableToStore
输出:
fieldName
-----------
3
(1 row(s) affected)
答案 2 :(得分:0)
不确定哪个数据库,所以我会写Sybasish。
declare @count int
select @int = count (1) from ... the rest of your query
insert another_table values (@count, 'other_field')
答案 3 :(得分:0)
如果您使用的是SQL Server,那么为什么不使用@@ROWCOUNT
答案 4 :(得分:0)
我正在寻找的是存储过程中插入的标识。一会儿完成这个,但想发布最终答案。
SELECT SCOPE_IDENTITY()