在Microsoft SQL Server中,要在查询窗口中测试类似的内容:
select * from Users where LastName = @lastname
Run Code Online (Sandbox Code Playgroud)
我可以在命令之前添加这个:
declare @lastname varchar(16)
set @lastname = 'Troy'
Run Code Online (Sandbox Code Playgroud)
但是在PostgreSQL中,我找不到类似的方法.似乎我唯一能做的就是直接用它的值替换参数名称.当ad-hoc查询变得复杂并且多次使用相同的参数时,它变得很难.有办法吗?
我想在 go 中做类似内联函数的事情,并且不想编写 for 循环......
const userIds = Users.map(u => u.Id);
Run Code Online (Sandbox Code Playgroud) 我原打算回到位置1.2的线程1,但是我没有。进行异步调用后,有没有办法返回UI线程?谢谢
我也不能使顶级方法异步。不知道异步方式能否解决这个问题,但是我现在没有选择。
class Program
{
static void Main(string[] args)
{
ComputeThenUpdateUI().Wait();
}
static async Task ComputeThenUpdateUI()
{
Console.WriteLine($"1.1 {Thread.CurrentThread.ManagedThreadId}");
await ExpensiveComputingNonUI().ConfigureAwait(true);
Console.WriteLine($"1.2 {Thread.CurrentThread.ManagedThreadId}");
}
static async Task ExpensiveComputingNonUI()
{
Console.WriteLine($"2.1 {Thread.CurrentThread.ManagedThreadId}");
await Task.Delay(3000).ConfigureAwait(false);
Console.WriteLine($"2.2 {Thread.CurrentThread.ManagedThreadId}");
await Task.Delay(3000).ConfigureAwait(false);
Console.WriteLine($"2.3 {Thread.CurrentThread.ManagedThreadId}");
}
}
Output:
1.1 1
2.1 1
2.2 4
2.3 4
1.2 4
Run Code Online (Sandbox Code Playgroud)