SqlServer怎么获得生成的newid()的值?

SqlServer怎么获得生成的newid()的值?,第1张

没有类似于select scope_identity()这样的函数,最好在应用程序中自己生成GUID 插入数据库,

这样就不需要利用主键默认值是newid(), 或者在后台使用newid()生成GUID

DECLARE @myid uniqueidentifier

SET @myid = NEWID()

insert into table1 (PK_FIELD)

values (@myid)

rs("ordermoney")=newid() 不可以地,newid()又不是程序的函数

INSERT INTO order (ordermoney) VALUES (newid())

------

orderNO 是唯一的吧,那样就不增加其他也行

----------

<% set rs=Server.CreateObject("adodb.recordset")

sql = "select * from [order] where orderNO='"&request("orderNO")&"'"

rs.Open sql,conn,1,1

if rs.eof then

conn.execute ("INSERT INTO [order] (orderNO,customername,sourceType,customerTele,installaddress,customerFaxn,webflag,OrderGuid) VALUES ('"&Request("orderNO") &"','" &Request("customername") &"','"&Request("sourceType") &"','"&Request("customerTele") &"','" &Request("installaddress") &"','"&Request("customerFax") &"',1," &newid() &")" )

response.write "添加成功"

else

response.write("记录已存在!")

end if

%>

newid()在

sqlserver

中用于随机排序,在mysql中可用rand()表示。

可通过以下数据进行测试:

创建表及插入数据:

create table test

(id int)

insert into test values (1)

insert into test values (2)

insert into test values (3)

insert into test values (4)

insert into test values (5)

insert into test values (6)

insert into test values (7)

insert into test values (8)

insert into test values (9)执行语句:

select * from test order by rand()第一次执行结果

第二次执行结果:

结论:这样试验了两次,每次的排序是不同的,也就证明实现了要求的随机排序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10058546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存