sql的存储过程中可否用table 型作参数,怎样用

刚学,帮帮忙!!!

第1个回答  2007-08-07
存储过程不支持的
可以考虑使用用户定义函数来实现,如:
CREATE FUNCTION Order_Customer
(@FirstName varchar(20),@LastName varchar(20))
RETURNS @Order_Customer_Tab TABLE
(
OrderID int,
GoodsName varchar(20),
CustomerName varchar(40)
)
BEGIN
INSERT @Order_Customer_Tab
SELECT OrderID,GoodsName,FirstName+','+LastName
FROM Orders JOIN Customers ON Orders.CustomerID = Customers.CustomerID
WHERE FirstName = @FirstName AND LastName = @LastName
RETURN
END本回答被提问者采纳

sql的存储过程中可否用table 型作参数,怎样用
存储过程不支持的 可以考虑使用用户定义函数来实现,如:CREATE FUNCTION Order_Customer (@FirstName varchar(20),@LastName varchar(20))RETURNS @Order_Customer_Tab TABLE (OrderID int,GoodsName varchar(20),CustomerName varchar(40))BEGIN INSERT @Order_Customer_Tab SELECT OrderID,GoodsName,Fi...

SQL 存储过程里能用中间表或者临时表吗?
1. 存储过程中 create table #Temp(……) ,然后Insert 数据 2. 存储过程中 select * into #Temp from ……这两种模式都可以形成一个当前会话可见的临时表,如果需要建全局可见的就使用##。操作起来跟普通表一样。二 SELECT CONVERT(varchar(10), GETDATE(), 111) AS dv ...

关于给SQL存储过程表名作为参数的问题
TableName varchar(50),BrandId int,sql Varchar(max))as begin set @sql='SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY ProductId desc)AS Row, * from '+@TableName +' where brandid ='+@BrandId+') where Row between '+ @startRecordIndex+' and '+@endRecordIndex exec @...

sql server如何用存储过程把多个表的数据添加到一张表中,表字段都很...
as insert into 表名 --这里表要存在 存储你处理的数据 否则就用select * into from tb 的格式 select col1,col2 from a union all select col1,col2 from b ……go exec usp_tableall

sql存储过程从一张表中查询到的值作为另一张表的新的字段
如果两表字段相同,则可以直接这样用。insert into table_a select * from table_b如果两表字段不同,a表需要b中的某几个字段即可,则可以如下使用:insert into table_a(field_a1,field_a2,field_a3) select field_b1,field_b2,field_b3 from table_b还可以加上where条件 ...

如何用SQL循环查询语句
最好的方法是使用存储过程,然后使用一个临时表,把每次选择的数据保存到临时表中。临时表可以在存储过程中使用 creat table #表名(字段 字段类型) 来创建,这样的表只在当前存在,相当于放到了内存里,你也可以实际的建一个表,然后把查出的结果都保存进去。以后选择都从这个表里查。大概意思就是这样...

sql 存储过程中 如何使用declare 有的存储过程声明了,有的没有声明...
1、打开SQL Database Studio。2、点击展开数据库连接和数据库。3、右击要修改的存储过程,然后点击【alter procedure】。4、此时进入存储过程编辑界面。5、修改存储过程语句。6、点击左侧的【execute】。7、此时显示执行结果,成功表示存储过程的定义修改完成了。

mysql存储过程支持用表作为参数吗
mysql存储过程支持用表作为参数。这个问题在MySQL 5.0以前非常麻烦,但是在MySQL 5.0.13版之后,由于引入了PREPARE语句,一切变得简单了。例子如下(已验证):DROP PROCEDURE IF EXISTS `newtable`; CREATE PROCEDURE `newtable`(IN tname varchar(64)) BEGIN SET @sqlcmd = CONCAT('CREATE ...

存储过程 中使用create Table
最好不要直接使用create table, 你最好使用select...into...来创建临时表,并添加数据(如select * into #temp from table_name where...),最后删除即可,并不建议使用create table来创建,存储过程中是不建议使用DDL语句的。在SQL Server中使用临时表是非常常见的,性能有一点影响,但这种几百几...

sql语句的逻辑问题:有一a表,里面有一字段tablename,需要以tablename为...
1.表名尽量不要用TABLE,这是保留字,假设用TABLENAME。2.字段名不要用A,容易与于后面表别名混淆。假设为FILEDA吧。3.更新表,要有条件,一般为关键字相同,设置你的表TABLENAME中为CELLID吧。则有:update tablename set fielda=fieldnew from (select cellId, fieldnew=houseBigness*hotTime\/(...

相似回答
大家正在搜